Created
May 15, 2012 14:16
-
-
Save jfrolich/2702096 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Add the libary directory to the LOAD_PATH | |
# this makes running the test as easy as just running script | |
PROJECT_ROOT = File.join(File.dirname(__FILE__),'..','..') | |
$LOAD_PATH.unshift(File.join(PROJECT_ROOT,'lib')) | |
require 'minitest/autorun' | |
require 'wbw/client' | |
require 'vcr' | |
require 'pry' | |
VCR.configure do |c| | |
c.cassette_library_dir = File.join PROJECT_ROOT, 'test/fixtures/vcr_cassettes' | |
c.hook_into :webmock | |
end | |
module Wbw | |
class ClientTest < MiniTest::Unit::TestCase | |
def setup | |
end | |
def record name, &block | |
VCR.use_cassette(name, &block) | |
end | |
# Returns a valid lid | |
def valid_lid | |
@client.lists.first[:lid] | |
end | |
def login u='jaap@dynamicka.com', p='testtest', f=false | |
@client ||= Client.new | |
@client.login(u,p) if !@client.logged_in || f | |
end | |
def test_login | |
record 'login' do | |
login | |
assert_equal true, @client.logged_in | |
assert_operator @client.session_id.length, :>, 1 | |
end | |
end | |
def test_faulty_login | |
record 'faulty_login' do | |
assert_raises Exceptions::Unauthorized do | |
login 'bademail@email.com', 'test', true | |
end | |
assert_equal false, @client.logged_in | |
end | |
end | |
def test_availability_of_lists | |
record 'lists' do | |
login | |
lists = @client.lists | |
assert_operator lists.count, :>, 0 | |
end | |
end | |
def test_availability_of_lists_when_not_logged_in | |
record 'list_when_not_logged_in' do | |
login | |
@client.logout | |
assert_raises Exceptions::Unauthorized do | |
lists = @client.lists | |
end | |
end | |
end | |
def test_validness_of_lid | |
record 'validness_of_lid' do | |
log | |
lists = @client.lists | |
lists.each do |list| | |
assert_equal Fixnum, list[:lid].class | |
assert_operator list[:lid], :>, 1 | |
end | |
end | |
end | |
def test_logout | |
record 'logout' do | |
login | |
assert_equal true, @client.logout | |
assert_equal false, @client.logged_in | |
end | |
end | |
def test_payments | |
record 'payments' do | |
login | |
payments = @client.payments valid_lid | |
assert_operator payments.count, :>, 0 | |
end | |
end | |
def test_payment_types | |
record 'payment_types' do | |
login | |
payments = @client.payments valid_lid | |
payments.each do |payment| | |
assert_equal String, payment[:by].class | |
assert_equal String, payment[:description].class | |
assert_equal Float, payment[:amount].class | |
assert_equal String, payment[:date].class | |
assert_equal String, payment[:participants].class | |
end | |
end | |
end | |
def test_addition_of_payment | |
skip | |
record 'addition_of_payment' do | |
login | |
payments_count = @client.payments(valid_lid).count | |
@client.create_payment(valid_lid, amount: 10, description: "payment123", date: "12-04-2012") | |
assert_equal payments_count + 1, @client.payments(valid_lid).count | |
end | |
end | |
def test_participants | |
record 'participants' do | |
login | |
assert_equal Array, @client.participants(valid_lid).class | |
assert_operator @client.participants(valid_lid), :>, 0 | |
end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment