summaryrefslogtreecommitdiffstats
path: root/t/basic.t
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2018-06-24 02:33:57 -0400
committerJesse Luehrs <doy@tozt.net>2018-06-24 02:33:57 -0400
commit191680ce49a2228710f0bfc6f6236e4f5bd0628b (patch)
treebe5cb395a3c1ac7360eae1b4a80362dde4e8165a /t/basic.t
parent09863f20dbd95faea1470fd665d7ea41502fe43f (diff)
downloadwww-ynab-191680ce49a2228710f0bfc6f6236e4f5bd0628b.tar.gz
www-ynab-191680ce49a2228710f0bfc6f6236e4f5bd0628b.zip
add some tests
Diffstat (limited to 't/basic.t')
-rw-r--r--t/basic.t48
1 files changed, 48 insertions, 0 deletions
diff --git a/t/basic.t b/t/basic.t
new file mode 100644
index 0000000..e01dadd
--- /dev/null
+++ b/t/basic.t
@@ -0,0 +1,48 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+use lib 't/lib';
+
+use WWW::YNAB;
+use WWW::YNAB::MockUA;
+
+my $ua = WWW::YNAB::MockUA->new;
+my $ynab = WWW::YNAB->new(
+ access_token => 'abcdef',
+ ua => $ua,
+);
+
+is(scalar $ua->test_requests, 0);
+ok(!$ynab->knows_rate_limit);
+ok(!$ynab->knows_total_rate_limit);
+
+my @budgets = $ynab->budgets;
+is(scalar @budgets, 1);
+isa_ok($budgets[0], 'WWW::YNAB::Budget');
+is($budgets[0]->id, 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
+is($budgets[0]->name, 'My Budget');
+is($budgets[0]->last_modified_on, "2018-06-23T17:04:12+00:00");
+is($budgets[0]->first_month, "2016-06-01");
+is($budgets[0]->last_month, "2018-07-01");
+
+is(scalar $ua->test_requests, 1);
+is(($ua->test_requests)[0][0], 'https://api.youneedabudget.com/v1/budgets');
+ok($ynab->knows_rate_limit);
+ok($ynab->knows_total_rate_limit);
+is($ynab->rate_limit, 1);
+is($ynab->total_rate_limit, 200);
+
+my $user = $ynab->user;
+isa_ok($user, 'WWW::YNAB::User');
+is($user->id, 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb');
+
+is(scalar $ua->test_requests, 2);
+is(($ua->test_requests)[1][0], 'https://api.youneedabudget.com/v1/user');
+ok($ynab->knows_rate_limit);
+ok($ynab->knows_total_rate_limit);
+is($ynab->rate_limit, 2);
+is($ynab->total_rate_limit, 200);
+
+done_testing;