"""Functional tests for ReferencePaymentEntity.""" from tests.utils.factories import ReferencePaymentEntityFactory def test_get_reference_payment_entity_by_id(fixture_client): """Test to get ReferencePaymentEntity by ID.""" reference_payment_entity = ReferencePaymentEntityFactory.create() reference_payment_entity_id = reference_payment_entity.reference_payment_entity_id res = fixture_client.get( f'/reference-payment-entity/{reference_payment_entity_id}' ) assert res.status_code == 200 assert res.json == { 'reference_payment_entity_id': reference_payment_entity.reference_payment_entity_id, 'payment_entity_name': reference_payment_entity.payment_entity_name, 'country_of_tax_reporting': reference_payment_entity.country_of_tax_reporting } def test_get_reference_payment_entity_list(fixture_client): """Test to get a list of reference_payment_entity.""" payment_entity_names = ['AWAL-UK', 'AWAL-US'] [ ReferencePaymentEntityFactory.create( payment_entity_name=name ) for name in payment_entity_names ] res = fixture_client.get('/reference-payment-entities/') assert res.status_code == 200 items = res.json.get('items') assert len(payment_entity_names) == res.json.get('total_count') assert items[0]['payment_entity_name'] == payment_entity_names[0] assert items[1]['payment_entity_name'] == payment_entity_names[1] def test_get_reference_payment_entity_list_with_country_tax_reporting(fixture_client): """Test to get a list of reference_payment_entity.""" countries_of_tax_reporting = ['UK', 'US'] [ ReferencePaymentEntityFactory.create( country_of_tax_reporting=country ) for country in countries_of_tax_reporting ] res = fixture_client.get('/reference-payment-entities/') assert res.status_code == 200 items = res.json.get('items') assert len(countries_of_tax_reporting) == res.json.get('total_count') assert items[0]['country_of_tax_reporting'] == countries_of_tax_reporting[0] assert items[1]['country_of_tax_reporting'] == countries_of_tax_reporting[1]