コード例 #1
0
def test_get_account_balance(monkeypatch, authentication_return, account_balance_return):
    response = create_fake_response(authentication_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    nubank_client = Nubank()

    response = create_fake_response(account_balance_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    balance = nubank_client.get_account_balance()

    assert balance == 127.33
コード例 #2
0
def test_should_generate_boleto(monkeypatch, create_boleto_return):
    monkeypatch.setattr(Discovery, '_update_proxy_urls', fake_update_proxy)
    monkeypatch.setattr(HttpClient, 'post',
                        MagicMock(return_value=create_boleto_return))
    client = Nubank()

    boleto = client.create_boleto(200.50)

    assert boleto == create_boleto_return['data']['createTransferInBoleto'][
        'boleto']['readableBarcode']
コード例 #3
0
def test_get_account_statements(monkeypatch, authentication_return,
                                account_statements_return):
    response = create_fake_response(authentication_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    nubank_client = Nubank('12345678909', '12345678')

    response = create_fake_response(account_statements_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    statements = nubank_client.get_account_statements()

    assert len(statements) == 2
コード例 #4
0
def test_authenticate_with_qr_code_succeeds(monkeypatch, authentication_return, proxy_list_return):
    proxy_list = create_fake_response(proxy_list_return)
    monkeypatch.setattr('requests.get', MagicMock(return_value=proxy_list))
    response = create_fake_response(authentication_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))

    nubank_client = Nubank()
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12', 'some-uuid')

    assert nubank_client.feed_url == 'https://prod-s0-webapp-proxy.nubank.com.br/api/proxy/events_123'
    assert nubank_client.headers['Authorization'] == 'Bearer access_token_123'
コード例 #5
0
def test_grapql_query_raises_exeption(monkeypatch, authentication_return, http_status):
    response = create_fake_response(authentication_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    nubank_client = Nubank('12345678909', '12345678')

    response = Response()
    response.status_code = http_status


    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    with pytest.raises(NuException):
        nubank_client.get_account_balance()
コード例 #6
0
def test_should_create_pix_money_request():
    nubank_client = Nubank(client=MockHttpClient())
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12',
                                            'some-uuid')

    keys_data = nubank_client.get_available_pix_keys()
    request = nubank_client.create_pix_payment_qrcode('1231231232', 1232213.23,
                                                      keys_data['keys'][0])

    assert request['qr_code'] is not None
    assert request[
        'payment_url'] == 'https://nubank.com.br/pagar/tttttt/yyyyyyy'
コード例 #7
0
def test_should_fetch_pix_keys():
    nubank_client = Nubank(client=MockHttpClient())
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12', 'some-uuid')

    data = nubank_client.get_available_pix_keys()

    keys = data['keys']
    account_id = data['account_id']

    assert len(keys) == 2
    assert keys[0]['value'] == '12345678912'
    assert account_id == 'xxxxxxxxxxxxxxxxxxxxxxxx'
コード例 #8
0
def test_authenticate_with_refresh_token(monkeypatch, authentication_return):
    monkeypatch.setattr(Discovery, '_update_proxy_urls', fake_update_proxy)
    monkeypatch.setattr(HttpClient, 'post',
                        MagicMock(return_value=authentication_return))

    nubank_client = Nubank()

    nubank_client.authenticate_with_refresh_token('token', 'some-file.p12')

    assert nubank_client.feed_url == 'https://prod-s0-webapp-proxy.nubank.com.br/api/proxy/events_123'
    assert nubank_client.client.get_header(
        'Authorization') == 'Bearer access_token_123'
コード例 #9
0
ファイル: Downloader.py プロジェクト: leonardola/nubank
    def __init__(self, uuid):
        self.config = self.get_config()

        if self.config['develop'] == True:
            print(uuid)
            return

        self.cpf = self.config['cpf']
        self.password = self.config['password']

        self.nu = Nubank()
        self.nu.authenticate_with_qr_code(self.cpf, self.password, uuid)
コード例 #10
0
def test_qr_code_enabled_follow_the_qr_scan_flow(monkeypatch,
                                                 qr_code_auth_required_return,
                                                 authentication_return):
    def patch_response():
        qr_code_response = create_fake_response(authentication_return)
        monkeypatch.setattr('requests.post',
                            MagicMock(return_value=qr_code_response))
        return ''

    response = create_fake_response(qr_code_auth_required_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    monkeypatch.setattr('builtins.input', lambda x: patch_response())
    Nubank('12345678909', 'hunter2', True)
コード例 #11
0
def test_get_bills_missing_credit_card():
    mock_client = MockHttpClient()
    mock_client.remove_mock_url(('https://mocked-proxy-url/api/proxy/events_123', ''))
    mock_client.remove_mock_url(('https://mocked-proxy-url/api/token', ''))

    mock_client.add_mock_url('https://mocked-proxy-url/api/proxy/magnitude_123', '', 'proxy_events')
    mock_client.add_mock_url('https://mocked-proxy-url/api/token', '', 'discovery_login_alternative')

    nubank_client = Nubank(client=mock_client)
    nubank_client.authenticate_with_cert('1234', 'hunter12', 'some-file.p12')

    with pytest.raises(NuMissingCreditCard):
        nubank_client.get_bills()
コード例 #12
0
def test_authenticate_with_cert_missing_credit_card():
    mock_client = MockHttpClient()
    mock_client.remove_mock_url(('https://mocked-proxy-url/api/proxy/events_123', ''))
    mock_client.remove_mock_url(('https://mocked-proxy-url/api/token', ''))

    mock_client.add_mock_url('https://mocked-proxy-url/api/proxy/magnitude_123', '', 'proxy_events')
    mock_client.add_mock_url('https://mocked-proxy-url/api/token', '', 'discovery_login_alternative')

    nubank_client = Nubank(client=mock_client)
    nubank_client.authenticate_with_cert('1234', 'hunter12', 'some-file.p12')

    assert nubank_client._feed_url == 'https://mocked-proxy-url/api/proxy/magnitude_123'
    assert nubank_client._bills_url is None
    assert nubank_client._client.get_header('Authorization') == 'Bearer access_token_123'
コード例 #13
0
def test_get_bills(monkeypatch, authentication_return, bills_return):
    response = create_fake_response(authentication_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    nubank_client = Nubank()

    response = create_fake_response(bills_return)
    monkeypatch.setattr('requests.get', MagicMock(return_value=response))

    bills = nubank_client.get_bills()

    assert len(bills) == 3
    assert bills[2]['_links']['self'][
               'href'] == "https://prod-s0-billing.nubank.com.br/api/bills/abcde-fghi-jklmn-opqrst-uvxz"
    assert bills[2]['href'] == 'nuapp://bill/abcde-fghi-jklmn-opqrst-uvxz'
    assert bills[2]['id'] == 'abcde-fghi-jklmn-opqrst-uvxz'
    assert bills[2]['state'] == 'overdue'

    summary = bills[2]['summary']
    assert summary["adjustments"] == "-63.99106066"
    assert summary["close_date"] == "2018-03-03"
    assert summary["due_date"] == "2018-03-10"
    assert summary["effective_due_date"] == "2018-03-12"
    assert summary["expenses"] == "364.14"
    assert summary["fees"] == "0"
    assert summary["interest"] == 0
    assert summary["interest_charge"] == "0"
    assert summary["interest_rate"] == "0.1375"
    assert summary["interest_reversal"] == "0"
    assert summary["international_tax"] == "0"
    assert summary["minimum_payment"] == 8003
    assert summary["open_date"] == "2018-02-03"
    assert summary["paid"] == 28515
    assert summary["past_balance"] == -1500
    assert summary["payments"] == "-960.47"
    assert summary["precise_minimum_payment"] == "480.02544320601300"
    assert summary["precise_total_balance"] == "285.152041645013"
    assert summary["previous_bill_balance"] == "945.473102305013"
    assert summary["remaining_minimum_payment"] == 0
    assert summary["tax"] == "0"
    assert summary["total_accrued"] == "0"
    assert summary["total_balance"] == 28515
    assert summary["total_credits"] == "-64.18"
    assert summary["total_cumulative"] == 30015
    assert summary["total_financed"] == "0"
    assert summary["total_international"] == "0"
    assert summary["total_national"] == "364.32893934"
    assert summary["total_payments"] == "-960.47"
    response = create_fake_response({}, 401)

    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
コード例 #14
0
def test_should_create_money_request(monkeypatch, create_money_request_return,
                                     account_statements_return):
    monkeypatch.setattr(Discovery, '_update_proxy_urls', fake_update_proxy)
    post_mock = Mock()
    post_mock.side_effect = [
        account_statements_return, create_money_request_return
    ]
    monkeypatch.setattr(HttpClient, 'post', post_mock)
    client = Nubank()

    url = client.create_money_request(200)

    assert url == create_money_request_return['data']['createMoneyRequest'][
        'moneyRequest']['url']
コード例 #15
0
def test_should_create_pix_money_request():
    nubank_client = Nubank(client=MockHttpClient())
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12',
                                            'some-uuid')

    keys_data = nubank_client.get_available_pix_keys()
    request = nubank_client.create_pix_payment_qrcode('1231231232', 1232213.23,
                                                      keys_data['keys'][0])

    assert request['qr_code'] is not None
    assert request['payment_code'] == '12464565442165BR.GOV.BCB.PIX42136542416542146542165.005802BR5920John ' \
                                      'Doe6009SAO PAULOSf5ASF56sf654aA65sa4f6S56fs'
    assert request[
        'payment_url'] == 'https://nubank.com.br/pagar/tttttt/yyyyyyy'
コード例 #16
0
def test_get_account_statements(monkeypatch, authentication_return, account_statements_return):
    response = create_fake_response(authentication_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    nubank_client = Nubank('12345678909', '12345678')

    response = create_fake_response(account_statements_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    statements = nubank_client.get_account_statements()

    assert len(statements) == 3
    assert statements[2]['id'] == 'abcde-fghi-jklmn-opqrst-uvx1'
    assert statements[2]['__typename'] == 'TransferInEvent'
    assert statements[2]['title'] == 'Transferência recebida'
    assert statements[2]['detail'] == 'R$127.33'
    assert statements[2]['postDate'] == '2018-03-06'
    assert statements[2]['amount'] == 127.33
コード例 #17
0
def test_get_card_statements():
    nubank_client = Nubank(client=MockHttpClient())
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12', 'some-uuid')

    statements = nubank_client.get_card_statements()

    assert len(statements) == 1
    assert statements[0]['description'] == 'Shopping Iguatemi'
    assert statements[0]['category'] == 'transaction'
    assert statements[0]['amount'] == 700
    assert statements[0]['time'] == '2017-09-09T02:03:55Z'
    assert statements[0]['title'] == 'transporte'
    assert statements[0]['id'] == 'abcde-fghi-jklmn-opqrst-uvxz'
    assert statements[0]['details']['lat'] == -12.9818258
    assert statements[0]['details']['lon'] == -38.4652058
    assert statements[0]['details']['subcategory'] == 'card_present'
    assert statements[0]['href'] == 'nuapp://transaction/abcde-fghi-jklmn-opqrst-uvxz'
    assert statements[0]['_links']['self']['href'] == 'https://prod-s0-webapp-proxy.nubank.com.br/api/proxy/_links_123'
コード例 #18
0
def test_get_customer():
    nubank_client = Nubank(client=MockHttpClient())
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12', 'some-uuid')

    customer = nubank_client.get_customer()

    assert len(customer) == 39
    assert customer['cpf'] == '12312312312'
    assert customer['email'] == '*****@*****.**'
    assert customer['phone'] == '1122334455678'
    assert customer['name'] == 'John Doe Mary Doe'
    assert customer['billing_address_number'] == '123'
    assert customer['billing_address_line1'] == "Paulista Avenue"
    assert customer['billing_address_city'] == "Sao Paulo"
    assert customer['billing_address_locality'] == "Bebedouro"
    assert customer['billing_address_state'] == "SP"
    assert customer['billing_address_postcode'] == "01234567"
    assert customer['billing_address_country'] == "Brasil"
コード例 #19
0
def test_get_bills():
    nubank_client = Nubank(client=MockHttpClient())
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12',
                                            'some-uuid')

    bills = nubank_client.get_bills()

    assert len(bills) == 3
    assert bills[2]['_links']['self'][
        'href'] == "https://mocked-proxy-url/api/bills/abcde-fghi-jklmn-opqrst-uvxz"
    assert bills[2]['href'] == 'nuapp://bill/abcde-fghi-jklmn-opqrst-uvxz'
    assert bills[2]['id'] == 'abcde-fghi-jklmn-opqrst-uvxz'
    assert bills[2]['state'] == 'overdue'

    summary = bills[2]['summary']
    assert summary["adjustments"] == "-63.99106066"
    assert summary["close_date"] == "2018-03-03"
    assert summary["due_date"] == "2018-03-10"
    assert summary["effective_due_date"] == "2018-03-12"
    assert summary["expenses"] == "364.14"
    assert summary["fees"] == "0"
    assert summary["interest"] == 0
    assert summary["interest_charge"] == "0"
    assert summary["interest_rate"] == "0.1375"
    assert summary["interest_reversal"] == "0"
    assert summary["international_tax"] == "0"
    assert summary["minimum_payment"] == 8003
    assert summary["open_date"] == "2018-02-03"
    assert summary["paid"] == 28515
    assert summary["past_balance"] == -1500
    assert summary["payments"] == "-960.47"
    assert summary["precise_minimum_payment"] == "480.02544320601300"
    assert summary["precise_total_balance"] == "285.152041645013"
    assert summary["previous_bill_balance"] == "945.473102305013"
    assert summary["remaining_minimum_payment"] == 0
    assert summary["tax"] == "0"
    assert summary["total_accrued"] == "0"
    assert summary["total_balance"] == 28515
    assert summary["total_credits"] == "-64.18"
    assert summary["total_cumulative"] == 30015
    assert summary["total_financed"] == "0"
    assert summary["total_international"] == "0"
    assert summary["total_national"] == "364.32893934"
    assert summary["total_payments"] == "-960.47"
コード例 #20
0
def test_get_card_statements():
    nubank_client = Nubank(client=MockHttpClient())
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12',
                                            'some-uuid')

    statements = nubank_client.get_card_statements()

    assert len(statements) == 5
    assert statements[0]['description'] == 'Netflix.Com'
    assert statements[0]['category'] == 'transaction'
    assert statements[0]['amount'] == 3290
    assert statements[0]['time'] == '2021-04-21T10:01:48Z'
    assert statements[0]['title'] == 'serviços'
    assert statements[0]['id'] == '43e713a0-07b7-43bb-9700-8d7ad2d5eee6'
    assert statements[0]['details']['subcategory'] == 'card_not_present'
    assert statements[0][
        'href'] == 'nuapp://transaction/43e713a0-07b7-43bb-9700-8d7ad2d5eee6'
    assert statements[0]['_links']['self'][
        'href'] == 'https://prod-s0-facade.nubank.com.br/api/transactions/43e713a0-07b7-43bb-9700-8d7ad2d5eee6'
コード例 #21
0
def test_get_card_statements(monkeypatch, events_return):
    monkeypatch.setattr(Discovery, '_update_proxy_urls', fake_update_proxy)
    monkeypatch.setattr(HttpClient, 'get', MagicMock(return_value=events_return))
    nubank_client = Nubank()

    statements = nubank_client.get_card_statements()

    assert len(statements) == 1
    assert statements[0]['description'] == 'Shopping Iguatemi'
    assert statements[0]['category'] == 'transaction'
    assert statements[0]['amount'] == 700
    assert statements[0]['time'] == '2017-09-09T02:03:55Z'
    assert statements[0]['title'] == 'transporte'
    assert statements[0]['id'] == 'abcde-fghi-jklmn-opqrst-uvxz'
    assert statements[0]['details']['lat'] == -12.9818258
    assert statements[0]['details']['lon'] == -38.4652058
    assert statements[0]['details']['subcategory'] == 'card_present'
    assert statements[0]['href'] == 'nuapp://transaction/abcde-fghi-jklmn-opqrst-uvxz'
    assert statements[0]['_links']['self']['href'] == 'https://prod-s0-webapp-proxy.nubank.com.br/api/proxy/_links_123'
コード例 #22
0
def test_get_account_statements():
    nubank_client = Nubank(client=MockHttpClient())
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12', 'some-uuid')

    statements = nubank_client.get_account_statements()

    assert len(statements) == 5
    assert statements[3]['id'] == 'abcde-fghi-jklmn-opqrst-uvx1'
    assert statements[3]['__typename'] == 'TransferInEvent'
    assert statements[3]['title'] == 'Transferencia recebida'
    assert statements[3]['detail'] == 'R$127.33'
    assert statements[3]['postDate'] == '2018-03-06'
    assert statements[3]['amount'] == 127.33

    assert statements[4]['id'] == 'abcdefgh-ijkl-mnop-qrst-uvwxyz0123'
    assert statements[4]['__typename'] == 'BarcodePaymentEvent'
    assert statements[4]['title'] == 'Pagamento efetuado'
    assert statements[4]['detail'] == 'AES ELETROPAULO'
    assert statements[4]['postDate'] == '2018-02-05'
    assert statements[4]['amount'] == 169.2
コード例 #23
0
def test_get_account_feed():
    nubank_client = Nubank(client=MockHttpClient())
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12', 'some-uuid')

    statements = nubank_client.get_account_feed()

    assert len(statements) == 6
    assert statements[1]['id'] == 'abcde-fghi-jklmn-opqrst-uvxy'
    assert statements[1]['__typename'] == 'TransferOutReversalEvent'
    assert statements[1]['title'] == 'Transferencia devolvida'
    assert statements[1]['detail'] == 'Juquinha da Silva Sauro - R$ 20,00'
    assert statements[1]['postDate'] == '2018-03-06'

    assert statements[2]['id'] == 'abcde-fghi-jklmn-opqrst-uvxz'
    assert statements[2]['__typename'] == 'TransferOutEvent'
    assert statements[2]['title'] == 'Transferencia enviada'
    assert statements[2]['detail'] == 'Juquinha da Silva Sauro - R$ 20,00'
    assert statements[2]['postDate'] == '2018-03-06'
    assert statements[2]['amount'] == 20.0
    assert statements[2]['destinationAccount']['name'] == 'Juquinha da Silva Sauro'
コード例 #24
0
def test_get_account_statements():
    nubank_client = Nubank(client=MockHttpClient())
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12',
                                            'some-uuid')

    statements = nubank_client.get_account_statements()

    assert len(statements) == 12
    assert statements[0]['id'] == 'e409e495-4a16-4bad-9ddb-5c447c84fdcb'
    assert statements[0]['__typename'] == 'TransferOutEvent'
    assert statements[0]['title'] == 'Transferência enviada'
    assert statements[0]['detail'] == 'Waldisney da Silva - R$ 4.496,90'
    assert statements[0]['postDate'] == '2021-04-14'
    assert statements[0]['amount'] == 4496.9

    assert statements[11]['id'] == 'a9f96774-37f2-431e-9e6f-a081defacf25'
    assert statements[11]['__typename'] == 'BarcodePaymentEvent'
    assert statements[11]['title'] == 'Pagamento efetuado'
    assert statements[11]['detail'] == 'CONFIDENCE CORRETORA DE CAMBIO S A'
    assert statements[11]['postDate'] == '2020-12-08'
    assert statements[11]['amount'] == 4245.1
コード例 #25
0
def test_get_account_statements(monkeypatch, account_statements_return):
    monkeypatch.setattr(Discovery, '_update_proxy_urls', fake_update_proxy)
    monkeypatch.setattr(HttpClient, 'post', MagicMock(return_value=account_statements_return))
    nubank_client = Nubank()

    statements = nubank_client.get_account_statements()

    assert len(statements) == 5
    assert statements[3]['id'] == 'abcde-fghi-jklmn-opqrst-uvx1'
    assert statements[3]['__typename'] == 'TransferInEvent'
    assert statements[3]['title'] == 'Transferência recebida'
    assert statements[3]['detail'] == 'R$127.33'
    assert statements[3]['postDate'] == '2018-03-06'
    assert statements[3]['amount'] == 127.33

    assert statements[4]['id'] == 'abcdefgh-ijkl-mnop-qrst-uvwxyz0123'
    assert statements[4]['__typename'] == 'BarcodePaymentEvent'
    assert statements[4]['title'] == 'Pagamento efetuado'
    assert statements[4]['detail'] == 'AES ELETROPAULO'
    assert statements[4]['postDate'] == '2018-02-05'
    assert statements[4]['amount'] == 169.2
コード例 #26
0
def test_get_account_feed(monkeypatch, account_statements_return):
    monkeypatch.setattr(Discovery, '_update_proxy_urls', fake_update_proxy)
    monkeypatch.setattr(HttpClient, 'post', MagicMock(return_value=account_statements_return))
    nubank_client = Nubank()

    statements = nubank_client.get_account_feed()

    assert len(statements) == 6
    assert statements[1]['id'] == 'abcde-fghi-jklmn-opqrst-uvxy'
    assert statements[1]['__typename'] == 'TransferOutReversalEvent'
    assert statements[1]['title'] == 'Transferência devolvida'
    assert statements[1]['detail'] == 'Juquinha da Silva Sauro - R$ 20,00'
    assert statements[1]['postDate'] == '2018-03-06'

    assert statements[2]['id'] == 'abcde-fghi-jklmn-opqrst-uvxz'
    assert statements[2]['__typename'] == 'TransferOutEvent'
    assert statements[2]['title'] == 'Transferência enviada'
    assert statements[2]['detail'] == 'Juquinha da Silva Sauro - R$ 20,00'
    assert statements[2]['postDate'] == '2018-03-06'
    assert statements[2]['amount'] == 20.0
    assert statements[2]['destinationAccount']['name'] == 'Juquinha da Silva Sauro'
コード例 #27
0
def test_get_card_statements(monkeypatch, authentication_return, events_return):
    response = create_fake_response(authentication_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    nubank_client = Nubank('12345678909', '12345678')

    response = create_fake_response(events_return)
    monkeypatch.setattr('requests.get', MagicMock(return_value=response))
    statements = nubank_client.get_card_statements()

    assert len(statements) == 1
    assert statements[0]['description'] == 'Shopping Iguatemi'
    assert statements[0]['category'] == 'transaction'
    assert statements[0]['amount'] == 700
    assert statements[0]['time'] == '2017-09-09T02:03:55Z'
    assert statements[0]['title'] == 'transporte'
    assert statements[0]['id'] == 'abcde-fghi-jklmn-opqrst-uvxz'
    assert statements[0]['details']['lat'] == -12.9818258
    assert statements[0]['details']['lon'] == -38.4652058
    assert statements[0]['details']['subcategory'] == 'card_present'
    assert statements[0]['href'] == 'nuapp://transaction/abcde-fghi-jklmn-opqrst-uvxz'
    assert statements[0]['_links']['self']['href'] == 'https://prod-s0-webapp-proxy.nubank.com.br/api/proxy/_links_123'
コード例 #28
0
def test_get_account_feed():
    nubank_client = Nubank(client=MockHttpClient())
    nubank_client.authenticate_with_qr_code('12345678912', 'hunter12',
                                            'some-uuid')

    statements = nubank_client.get_account_feed()

    assert len(statements) == 24
    assert statements[0]['id'] == 'e409e495-4a16-4bad-9ddb-5c447c84fdcb'
    assert statements[0]['__typename'] == 'TransferOutEvent'
    assert statements[0]['title'] == 'Transferência enviada'
    assert statements[0]['detail'] == 'Waldisney da Silva - R$ 4.496,90'
    assert statements[0]['postDate'] == '2021-04-14'
    assert statements[0]['amount'] == 4496.9

    assert statements[1]['id'] == 'acb9a16b-2a1c-40cc-a20b-0778a4503f12'
    assert statements[1]['__typename'] == 'TransferInEvent'
    assert statements[1]['title'] == 'Transferência recebida'
    assert statements[1]['detail'] == 'R$ 1.483,80'
    assert statements[1]['postDate'] == '2021-04-06'
    assert statements[1]['amount'] == 1483.8
    assert statements[1]['originAccount']['name'] == 'Waldisney da Silva'
コード例 #29
0
def test_get_account_feed(monkeypatch, authentication_return, account_statements_return):
    response = create_fake_response(authentication_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    nubank_client = Nubank('12345678909', '12345678')

    response = create_fake_response(account_statements_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    statements = nubank_client.get_account_feed()

    assert len(statements) == 5
    assert statements[1]['id'] == 'abcde-fghi-jklmn-opqrst-uvxy'
    assert statements[1]['__typename'] == 'TransferOutReversalEvent'
    assert statements[1]['title'] == 'Transferência devolvida'
    assert statements[1]['detail'] == 'Juquinha da Silva Sauro - R$ 20,00'
    assert statements[1]['postDate'] == '2018-03-06'
    
    assert statements[2]['id'] == 'abcde-fghi-jklmn-opqrst-uvxz'
    assert statements[2]['__typename'] == 'TransferOutEvent'
    assert statements[2]['title'] == 'Transferência enviada'
    assert statements[2]['detail'] == 'Juquinha da Silva Sauro - R$ 20,00'
    assert statements[2]['postDate'] == '2018-03-06'
    assert statements[2]['amount'] == 20.0
    assert statements[2]['destinationAccount']['name'] == 'Juquinha da Silva Sauro'
コード例 #30
0
def test_get_account_statements(monkeypatch, authentication_return, account_statements_return):
    response = create_fake_response(authentication_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    nubank_client = Nubank()

    response = create_fake_response(account_statements_return)
    monkeypatch.setattr('requests.post', MagicMock(return_value=response))
    statements = nubank_client.get_account_statements()

    assert len(statements) == 4
    assert statements[2]['id'] == 'abcde-fghi-jklmn-opqrst-uvx1'
    assert statements[2]['__typename'] == 'TransferInEvent'
    assert statements[2]['title'] == 'Transferência recebida'
    assert statements[2]['detail'] == 'R$127.33'
    assert statements[2]['postDate'] == '2018-03-06'
    assert statements[2]['amount'] == 127.33

    assert statements[3]['id'] == 'abcdefgh-ijkl-mnop-qrst-uvwxyz0123'
    assert statements[3]['__typename'] == 'BarcodePaymentEvent'
    assert statements[3]['title'] == 'Pagamento efetuado'
    assert statements[3]['detail'] == 'AES ELETROPAULO'
    assert statements[3]['postDate'] == '2018-02-05'
    assert statements[3]['amount'] == 169.2