"""Functional tests for legacy_contract endpoints.""" from tests.utils.factories import ContractFactory from tests.utils.factories import LegacyContractFactory def test_get_contracts_by_oa_contract_ids(fixture_client): """POST /oa-contracts/contracts/.""" legacy_contracts = LegacyContractFactory.create_batch(3) oa_contract_ids = [legacy.oa_contract_id for legacy in legacy_contracts] res = fixture_client.post('/oa-contracts/contracts', json=oa_contract_ids) assert res.status_code == 200 assert len(res.json) == len(legacy_contracts) def test_create_legacy_contract(fixture_client): """POST /contract//legacy-contract/.""" contract = ContractFactory.create() params = { 'oa_contract_id': 123 } result = fixture_client.post( f'/contract/{contract.contract_id}/legacy-contract', json=params ) assert result.status_code == 201 assert result.json == { 'oa_contract_id': params['oa_contract_id'], 'contract_id': contract.contract_id, 'legacy_contract_id': 1 } def test_get_legacy_contract_by_contract_id(fixture_client): """GET /contract//legacy-contract/.""" contract = ContractFactory.create() legacy_contract = LegacyContractFactory.create(contract=contract) result = fixture_client.get(f'/contract/{contract.contract_id}/legacy-contract') assert result.status_code == 200 assert result.json == { 'oa_contract_id': legacy_contract.oa_contract_id, 'contract_id': legacy_contract.contract_id, 'legacy_contract_id': legacy_contract.legacy_contract_id }