"""Tests for signing_entity_sap_profit_center model.""" from abacus_contract import models from abacus_contract.models.signing_entity_sap_profit_center import ( SigningEntitySapProfitCenter, ) from abacus_contract.tests.utils.factories import ( ReferenceSapProfitCenterFactory, ReferenceSigningEntityFactory, SigningEntitySapProfitCenterFactory, ) def test_create_signing_entity_sap_profit_center(fresh_db): """Test to create signing_entity_sap_profit_center record.""" result = SigningEntitySapProfitCenter.query.all() assert len(result) == 0 mock_sap_profit_center = ReferenceSapProfitCenterFactory.create() mock_signing_entity = ReferenceSigningEntityFactory.create(with_junction_row=False) junction_row = SigningEntitySapProfitCenter.create( reference_sap_profit_center_id=mock_sap_profit_center.reference_sap_profit_center_id, reference_signing_entity_id=mock_signing_entity.reference_signing_entity_id, ) result = SigningEntitySapProfitCenter.query.all() assert len(result) == 1 assert result[0] == junction_row def test_get_by_profit_center_and_signing_entities(): """Test to fetch all junction rows matching the specified profit center and signing entities.""" mock_signing_entities = [ ReferenceSigningEntityFactory.create(with_junction_row=False), ReferenceSigningEntityFactory.create(with_junction_row=False), ] mock_profit_center_1 = ReferenceSapProfitCenterFactory.create( display_name='Test Profit Center 1' ) mock_profit_center_2 = ReferenceSapProfitCenterFactory.create( display_name='Test Profit Center 2' ) junction_rows = [ SigningEntitySapProfitCenterFactory.create( reference_signing_entity=mock_signing_entities[0], reference_sap_profit_center=mock_profit_center_1, ), SigningEntitySapProfitCenterFactory.create( reference_signing_entity=mock_signing_entities[1], reference_sap_profit_center=mock_profit_center_1, deleted_by='Test User', ), SigningEntitySapProfitCenterFactory.create( reference_signing_entity=mock_signing_entities[0], reference_sap_profit_center=mock_profit_center_2, ), SigningEntitySapProfitCenterFactory.create( reference_signing_entity=mock_signing_entities[1], reference_sap_profit_center=mock_profit_center_2, deleted_by='Test User', ), ] signing_entity_ids = [ signing_entity.reference_signing_entity_id for signing_entity in mock_signing_entities ] result = SigningEntitySapProfitCenter.get_by_profit_center_and_signing_entities( mock_profit_center_1.reference_sap_profit_center_id, signing_entity_ids ) assert len(result) == 2 assert result == junction_rows[0:2]