def test_since_on_cutoff(self, m): m.get( 'https://api.teller.io/accounts/11111111-1111-4111-1111-111111111111/transactions', json=EXAMPLE_JSON, ) tellerio.do_import(token='testtoken', account_uuid='11111111-1111-4111-1111-111111111111', bank_account=self.bank, since=date(2017, 3, 27)) self.assertEqual(StatementLine.objects.count(), 1)
def test_since_none(self, m): m.get( "https://api.teller.io/accounts/11111111-1111-4111-1111-111111111111/transactions", json=EXAMPLE_JSON, ) tellerio.do_import( token="testtoken", account_uuid="11111111-1111-4111-1111-111111111111", bank_account=self.bank, since=date(2017, 3, 28), ) self.assertEqual(StatementLine.objects.count(), 0)
def import_tellerio(): settings = Settings.objects.get() if settings.tellerio_enable: first_billing_cycle = BillingCycle.objects.first() tellerio.do_import( token=settings.tellerio_token, account_uuid=settings.tellerio_account_id, bank_account=Account.objects.filter(is_bank_account=True)[0], since=first_billing_cycle.date_range.lower, ) return True else: return False
def test_simple(self, m): m.get( "https://api.teller.io/accounts/11111111-1111-4111-1111-111111111111/transactions", json=EXAMPLE_JSON, headers={"Authorization": "Bearer testtoken"}, ) tellerio.do_import( token="testtoken", account_uuid="11111111-1111-4111-1111-111111111111", bank_account=self.bank, ) self.assertEqual(StatementImport.objects.count(), 1) self.assertEqual(StatementLine.objects.count(), 3) statement_import = StatementImport.objects.get() line1, line2, line3 = StatementLine.objects.order_by("-date").all() self.assertEqual(statement_import.source, "teller.io") self.assertEqual( statement_import.extra, {"account_uuid": "11111111-1111-4111-1111-111111111111"}, ) self.assertEqual(line1.uuid, UUID("11111111-1111-4111-2222-111111111111")) self.assertEqual(line1.amount, Decimal("-11.35")) self.assertEqual( line1.description, "MARKS&SPENCER PLC, 3903 24MAR17 CD , MARKS&SPENCER PLC , PANTHEON GB", ) self.assertEqual(line1.type, "card_payment") self.assertEqual(line1.statement_import, statement_import) self.assertEqual(line1.date, date(2017, 3, 27)) self.assertEqual(line1.source_data, EXAMPLE_JSON[0]) self.assertEqual(line2.uuid, UUID("11111111-1111-4111-3333-111111111111")) self.assertEqual(line2.amount, Decimal("-22.55")) self.assertEqual( line2.description, "HARE & TORTOISE, 3903 25MAR17 CD , HARE & TORTOISE , BRUNSW , LONDON GB", ) self.assertEqual(line1.type, "card_payment") self.assertEqual(line2.statement_import, statement_import) self.assertEqual(line2.date, date(2017, 3, 26)) self.assertEqual(line2.source_data, EXAMPLE_JSON[1])
def test_does_not_duplicate(self, m): m.get( 'https://api.teller.io/accounts/11111111-1111-4111-1111-111111111111/transactions', json=EXAMPLE_JSON, ) m.get( 'https://api.teller.io/accounts/11111111-1111-4111-1111-111111111111/transactions', json=EXAMPLE_JSON, ) tellerio.do_import(token='testtoken', account_uuid='11111111-1111-4111-1111-111111111111', bank_account=self.bank) tellerio.do_import(token='testtoken', account_uuid='11111111-1111-4111-1111-111111111111', bank_account=self.bank) self.assertEqual(StatementLine.objects.count(), 3)
def test_simple(self, m): m.get( 'https://api.teller.io/accounts/11111111-1111-4111-1111-111111111111/transactions', json=EXAMPLE_JSON, headers={'Authorization': 'Bearer testtoken'}) tellerio.do_import(token='testtoken', account_uuid='11111111-1111-4111-1111-111111111111', bank_account=self.bank) self.assertEqual(StatementImport.objects.count(), 1) self.assertEqual(StatementLine.objects.count(), 3) statement_import = StatementImport.objects.get() line1, line2, line3 = StatementLine.objects.order_by('-date').all() self.assertEqual(statement_import.source, 'teller.io') self.assertEqual( statement_import.extra, { 'account_uuid': '11111111-1111-4111-1111-111111111111', }) self.assertEqual(line1.uuid, UUID('11111111-1111-4111-2222-111111111111')) self.assertEqual(line1.amount, Decimal('-11.35')) self.assertEqual( line1.description, 'MARKS&SPENCER PLC, 3903 24MAR17 CD , MARKS&SPENCER PLC , PANTHEON GB' ) self.assertEqual(line1.type, 'card_payment') self.assertEqual(line1.statement_import, statement_import) self.assertEqual(line1.date, date(2017, 3, 27)) self.assertEqual(line1.source_data, EXAMPLE_JSON[0]) self.assertEqual(line2.uuid, UUID('11111111-1111-4111-3333-111111111111')) self.assertEqual(line2.amount, Decimal('-22.55')) self.assertEqual( line2.description, 'HARE & TORTOISE, 3903 25MAR17 CD , HARE & TORTOISE , BRUNSW , LONDON GB' ) self.assertEqual(line1.type, 'card_payment') self.assertEqual(line2.statement_import, statement_import) self.assertEqual(line2.date, date(2017, 3, 26)) self.assertEqual(line2.source_data, EXAMPLE_JSON[1])