From d53d63ffae1c3492c31e846c40a6f59c8ec5bb78 Mon Sep 17 00:00:00 2001 From: Nico Koprowski Date: Thu, 6 Mar 2025 15:20:59 +0800 Subject: [PATCH] test(Pool): fix how additional addresses of sites are compared --- .../ExpectedBusinessPartnerResultFactory.kt | 21 ++++++++++++------- .../bpdm/test/util/PoolAssertHelper.kt | 7 +++++-- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/bpdm-common-test/src/main/kotlin/org/eclipse/tractusx/bpdm/test/testdata/pool/ExpectedBusinessPartnerResultFactory.kt b/bpdm-common-test/src/main/kotlin/org/eclipse/tractusx/bpdm/test/testdata/pool/ExpectedBusinessPartnerResultFactory.kt index ba1934da9..9d50fd568 100644 --- a/bpdm-common-test/src/main/kotlin/org/eclipse/tractusx/bpdm/test/testdata/pool/ExpectedBusinessPartnerResultFactory.kt +++ b/bpdm-common-test/src/main/kotlin/org/eclipse/tractusx/bpdm/test/testdata/pool/ExpectedBusinessPartnerResultFactory.kt @@ -129,12 +129,18 @@ class ExpectedBusinessPartnerResultFactory( fun mapToExpectedAddresses( hierarchy: LegalEntityHierarchy ): List { - return listOf(mapToExpectedAddress(hierarchy.legalEntity)) - .plus(hierarchy.getAllSites().map { mapToExpectedAddress(it, hierarchy.legalEntity.legalEntity.isCatenaXMemberData) }) - .plus(hierarchy.getAllAddresses().map { mapToExpectedAddress(it, hierarchy.legalEntity.legalEntity.isCatenaXMemberData) }) + val isCxMember = hierarchy.legalEntity.legalEntity.isCatenaXMemberData + val legalEntityAdditionalAddresses = hierarchy.addresses + val siteAdditionalAddressesWithBpnl = hierarchy.siteHierarchy + .flatMap{ siteHierarchy -> siteHierarchy.addresses.map { Pair(it, siteHierarchy.site.bpnlParent) } } + + return listOf(mapLegalEntityToExpectedLegalAddress(hierarchy.legalEntity)) + .plus(hierarchy.getAllSites().map { mapSiteToExpectedSiteMainAddress(it, isCxMember) }) + .plus(legalEntityAdditionalAddresses.map { mapToExpectedAdditionalAddress(it,isCxMember) }) + .plus(siteAdditionalAddressesWithBpnl.map { (additionalAddress, bpnl) -> mapToExpectedAdditionalAddress(additionalAddress, isCxMember, bpnLegalEntityOverwrite = bpnl) }) } - fun mapToExpectedAddress( + fun mapLegalEntityToExpectedLegalAddress( givenRequest: LegalEntityPartnerCreateRequest, givenBpnA: String = StringIgnoreComparator.IGNORE_STRING, bpnLegalEntity: String = StringIgnoreComparator.IGNORE_STRING, @@ -153,7 +159,7 @@ class ExpectedBusinessPartnerResultFactory( ) } - fun mapToExpectedAddress( + fun mapSiteToExpectedSiteMainAddress( givenRequest: SitePartnerCreateRequest, isCatenaXMemberData: Boolean, givenBpnA: String = StringIgnoreComparator.IGNORE_STRING, @@ -173,17 +179,18 @@ class ExpectedBusinessPartnerResultFactory( ) } - fun mapToExpectedAddress( + fun mapToExpectedAdditionalAddress( givenRequest: AddressPartnerCreateRequest, isCatenaXMemberData: Boolean, givenBpnA: String = StringIgnoreComparator.IGNORE_STRING, + bpnLegalEntityOverwrite: String? = null, createdAt: Instant = Instant.MIN, updatedAt: Instant = createdAt ): LogisticAddressVerboseDto { return mapToExpectedResult( givenRequest = givenRequest.address, givenBpnA = givenBpnA, - bpnLegalEntity = givenRequest.bpnParent.takeIf { it.startsWith("BPNL") }, + bpnLegalEntity = bpnLegalEntityOverwrite ?: givenRequest.bpnParent.takeIf { it.startsWith("BPNL") }, bpnSite = givenRequest.bpnParent.takeIf { it.startsWith("BPNS") }, addressType = AddressType.AdditionalAddress, isCatenaXMemberData = isCatenaXMemberData, diff --git a/bpdm-common-test/src/main/kotlin/org/eclipse/tractusx/bpdm/test/util/PoolAssertHelper.kt b/bpdm-common-test/src/main/kotlin/org/eclipse/tractusx/bpdm/test/util/PoolAssertHelper.kt index 9cb717ad7..f0ef03fb2 100644 --- a/bpdm-common-test/src/main/kotlin/org/eclipse/tractusx/bpdm/test/util/PoolAssertHelper.kt +++ b/bpdm-common-test/src/main/kotlin/org/eclipse/tractusx/bpdm/test/util/PoolAssertHelper.kt @@ -105,7 +105,8 @@ class PoolAssertHelper( creationTimeframe: Timeframe, updateTimeframe: Timeframe = creationTimeframe ) { - Assertions.assertThat(actual.first()) + + Assertions.assertThat(actual) .usingRecursiveComparison() .ignoringCollectionOrder() .ignoringAllOverriddenEquals() @@ -117,7 +118,9 @@ class PoolAssertHelper( .withComparatorForType(instantSecondsComparator, Instant::class.java) .withComparatorForType(localDatetimeSecondsComparator, LocalDateTime::class.java) .withComparatorForType(stringIgnoreComparator, String::class.java) - .isEqualTo(expected.first()) + .isEqualTo(expected) + + actual.forEach { Assertions.assertThat(it.createdAt).isBetween(creationTimeframe.startTime, creationTimeframe.endTime) } actual.forEach { Assertions.assertThat(it.updatedAt).isBetween(updateTimeframe.startTime, updateTimeframe.endTime) }