def _generate_and_parse_bank_statement(self, mock_api_client, receipt_date=None):
        _, test_data = mock_test_transactions(mock_api_client)
        mock_balance(mock_api_client)

        if receipt_date is None:
            receipt_date = date(2016, 9, 13)
        with mock.patch('bank_admin.utils.requests') as mock_requests:
            mock_requests.get().status_code = 200
            mock_requests.get().json.return_value = TEST_HOLIDAYS
            _, bai2_file = generate_bank_statement(self.get_request(),
                                                   receipt_date)
        return bai2.parse_from_string(bai2_file, check_integrity=True), test_data
    def test_empty_statement_generated(self, mock_api_client):
        conn = mock_api_client.get_connection().transactions
        conn.get.return_value = NO_TRANSACTIONS
        mock_balance(mock_api_client)

        today = date(2016, 9, 13)
        with mock.patch('bank_admin.utils.requests') as mock_requests:
            mock_requests.get().status_code = 200
            mock_requests.get().json.return_value = TEST_HOLIDAYS
            _, bai2_file = generate_bank_statement(self.get_request(),
                                                   today)

        parsed_file = bai2.parse_from_string(bai2_file, check_integrity=True)
        account = parsed_file.children[0].children[0]
        self.assertEqual(len(account.children), 0)
    def test_parse_from_string(self):
        s = ('01,CITIDIRECT,8888888,150716,0713,00131100,,,2/\n'
             '02,8888888,CITIGB00,1,150715,2340,GBP,2/\n'
             '03,77777777,GBP,010,10000,,,015,10000,,,/\n'
             '16,191,001,V,150715,,1234567890,RP12312312312312/\n'
             '88,FR:FP SIP INCOMING\n'
             '88,ENDT:20150715\n'
             '88,TRID:RP12312312312312\n'
             '88,PY:RP1231231231231200                 A1234BC 22/03/66\n'
             '88,BI:22222222\n'
             '88,OB:111111 BUCKINGHAM PALACE OB3:BARCLAYS BANK PLC\n'
             '88,BO:11111111 BO1:DOE JO\n'
             '49,20001,10/\n'
             '98,20001,1,12/\n'
             '99,20001,1,14/\n')

        bai2_file = bai2.parse_from_string(s)
        self.assertTrue(isinstance(bai2_file, Bai2File))
Example #4
0
    def test_parse_from_string(self):
        s = (
            '01,CITIDIRECT,8888888,150716,0713,00131100,,,2/\n'
            '02,8888888,CITIGB00,1,150715,2340,GBP,2/\n'
            '03,77777777,GBP,010,10000,,,015,10000,,,/\n'
            '16,191,001,V,150715,,1234567890,RP12312312312312/\n'
            '88,FR:FP SIP INCOMING\n'
            '88,ENDT:20150715\n'
            '88,TRID:RP12312312312312\n'
            '88,PY:RP1231231231231200                 A1234BC 22/03/66\n'
            '88,BI:22222222\n'
            '88,OB:111111 BUCKINGHAM PALACE OB3:BARCLAYS BANK PLC\n'
            '88,BO:11111111 BO1:DOE JO\n'
            '49,20001,10/\n'
            '98,20001,1,12/\n'
            '99,20001,1,14/\n'
        )

        bai2_file = bai2.parse_from_string(s)
        self.assertTrue(isinstance(bai2_file, Bai2File))