diff --git a/pom.xml b/pom.xml
index 518e819..b75ea13 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
3.0.0
2.0.3
2.0.2
- 4.0.185
+ 4.0.190
3.0.5
2.0.6
1.6.0.RC1
diff --git a/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationMapper.java b/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationMapper.java
index e8decfa..3b8f99a 100644
--- a/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationMapper.java
+++ b/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationMapper.java
@@ -25,7 +25,7 @@ public AssociationMapper(final MapperUtil mapperUtil, final BaseMapper baseMappe
protected void enrichAssociation(Association association) {
mapperUtil.enrichAssociationWithUserDetails(association);
- mapperUtil.enrichAssociationWithCompanyName(association);
+ mapperUtil.enrichAssociationWithCompanyDetails(association);
}
diff --git a/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListCompanyMapper.java b/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListCompanyMapper.java
index dd86d18..6109339 100644
--- a/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListCompanyMapper.java
+++ b/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListCompanyMapper.java
@@ -5,6 +5,7 @@
import org.springframework.stereotype.Component;
import uk.gov.companieshouse.accounts.association.models.AssociationDao;
import uk.gov.companieshouse.accounts.association.utils.MapperUtil;
+import uk.gov.companieshouse.api.accounts.associations.model.Association.CompanyStatusEnum;
import uk.gov.companieshouse.api.accounts.associations.model.AssociationsList;
import uk.gov.companieshouse.api.company.CompanyDetails;
@@ -29,6 +30,7 @@ public AssociationsList daoToDto(final Page associationsList, fi
.map(mapperUtil::enrichAssociationWithUserDetails)
.map(association -> {
association.setCompanyName(companyDetails.getCompanyName());
+ association.setCompanyStatus( CompanyStatusEnum.fromValue( companyDetails.getCompanyStatus() ) );
return association;
});
return mapperUtil.enrichWithMetadata(associationList, END_POINT_URL.concat(companyDetails.getCompanyNumber()));
diff --git a/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListUserMapper.java b/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListUserMapper.java
index bda1e29..be6ae28 100644
--- a/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListUserMapper.java
+++ b/src/main/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListUserMapper.java
@@ -32,7 +32,7 @@ public AssociationsListUserMapper(final BaseMapper baseMapper, final MapperUtil
public AssociationsList daoToDto(final Page associationsList, @NotNull final User user) {
var associationList = associationsList.map(baseMapper::daoToDto)
- .map(mapperUtil::enrichAssociationWithCompanyName)
+ .map(mapperUtil::enrichAssociationWithCompanyDetails)
.map(association -> {
association.setUserEmail(user.getEmail());
association.setDisplayName(
diff --git a/src/main/java/uk/gov/companieshouse/accounts/association/utils/MapperUtil.java b/src/main/java/uk/gov/companieshouse/accounts/association/utils/MapperUtil.java
index 7c39a02..117da92 100644
--- a/src/main/java/uk/gov/companieshouse/accounts/association/utils/MapperUtil.java
+++ b/src/main/java/uk/gov/companieshouse/accounts/association/utils/MapperUtil.java
@@ -6,6 +6,7 @@
import uk.gov.companieshouse.accounts.association.service.CompanyService;
import uk.gov.companieshouse.accounts.association.service.UsersService;
import uk.gov.companieshouse.api.accounts.associations.model.Association;
+import uk.gov.companieshouse.api.accounts.associations.model.Association.CompanyStatusEnum;
import uk.gov.companieshouse.api.accounts.associations.model.AssociationsList;
import uk.gov.companieshouse.api.accounts.associations.model.Invitation;
import uk.gov.companieshouse.api.accounts.associations.model.Links;
@@ -58,9 +59,10 @@ public Invitation enrichInvitation(Invitation invitation) {
return invitation;
}
- public Association enrichAssociationWithCompanyName(final Association association) {
+ public Association enrichAssociationWithCompanyDetails(final Association association) {
final var companyProfile = companyService.fetchCompanyProfile(association.getCompanyNumber());
association.setCompanyName(companyProfile.getCompanyName());
+ association.setCompanyStatus( CompanyStatusEnum.fromValue( companyProfile.getCompanyStatus() ) );
return association;
}
diff --git a/src/test/java/uk/gov/companieshouse/accounts/association/common/TestDataManager.java b/src/test/java/uk/gov/companieshouse/accounts/association/common/TestDataManager.java
index 6190331..9349f38 100644
--- a/src/test/java/uk/gov/companieshouse/accounts/association/common/TestDataManager.java
+++ b/src/test/java/uk/gov/companieshouse/accounts/association/common/TestDataManager.java
@@ -898,23 +898,23 @@ private void instantiateUserDtoSuppliers(){
}
private void instantiateCompanyDtoSuppliers(){
- companyDetailsDtoSuppliers.put( "111111", () -> new CompanyDetails().companyNumber( "111111" ).companyName( "Wayne Enterprises" ) );
- companyDetailsDtoSuppliers.put( "333333", () -> new CompanyDetails().companyNumber( "333333" ).companyName( "Tesco" ) );
- companyDetailsDtoSuppliers.put( "444444", () -> new CompanyDetails().companyNumber( "444444" ).companyName( "Sainsbury's" ) );
- companyDetailsDtoSuppliers.put( "555555", () -> new CompanyDetails().companyNumber( "555555" ).companyName( "Morrison" ) );
- companyDetailsDtoSuppliers.put( "666666", () -> new CompanyDetails().companyNumber( "666666" ).companyName( "Aldi" ) );
- companyDetailsDtoSuppliers.put( "777777", () -> new CompanyDetails().companyNumber( "777777" ).companyName( "Lidl" ) );
- companyDetailsDtoSuppliers.put( "888888", () -> new CompanyDetails().companyNumber( "888888" ).companyName( "McDonald's" ) );
- companyDetailsDtoSuppliers.put( "999999", () -> new CompanyDetails().companyNumber( "999999" ).companyName( "Burger King" ) );
- companyDetailsDtoSuppliers.put( "x111111", () -> new CompanyDetails().companyNumber( "x111111" ).companyName( "Pizza Hut" ) );
- companyDetailsDtoSuppliers.put( "x222222", () -> new CompanyDetails().companyNumber( "x222222" ).companyName( "Dominos" ) );
- companyDetailsDtoSuppliers.put( "x333333", () -> new CompanyDetails().companyNumber( "x333333" ).companyName( "Pizza Express" ) );
- companyDetailsDtoSuppliers.put( "x444444", () -> new CompanyDetails().companyNumber( "x444444" ).companyName( "Nandos" ) );
- companyDetailsDtoSuppliers.put( "x555555", () -> new CompanyDetails().companyNumber( "x555555" ).companyName( "Subway" ) );
- companyDetailsDtoSuppliers.put( "x666666", () -> new CompanyDetails().companyNumber( "x666666" ).companyName( "Greggs" ) );
- companyDetailsDtoSuppliers.put( "x777777", () -> new CompanyDetails().companyNumber( "x777777" ).companyName( "Facebook" ) );
- companyDetailsDtoSuppliers.put( "x888888", () -> new CompanyDetails().companyNumber( "x888888" ).companyName( "Twitter" ) );
- companyDetailsDtoSuppliers.put( "x999999", () -> new CompanyDetails().companyNumber( "x999999" ).companyName( "Instram" ) );
+ companyDetailsDtoSuppliers.put( "111111", () -> new CompanyDetails().companyNumber( "111111" ).companyName( "Wayne Enterprises" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "333333", () -> new CompanyDetails().companyNumber( "333333" ).companyName( "Tesco" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "444444", () -> new CompanyDetails().companyNumber( "444444" ).companyName( "Sainsbury's" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "555555", () -> new CompanyDetails().companyNumber( "555555" ).companyName( "Morrison" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "666666", () -> new CompanyDetails().companyNumber( "666666" ).companyName( "Aldi" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "777777", () -> new CompanyDetails().companyNumber( "777777" ).companyName( "Lidl" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "888888", () -> new CompanyDetails().companyNumber( "888888" ).companyName( "McDonald's" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "999999", () -> new CompanyDetails().companyNumber( "999999" ).companyName( "Burger King" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "x111111", () -> new CompanyDetails().companyNumber( "x111111" ).companyName( "Pizza Hut" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "x222222", () -> new CompanyDetails().companyNumber( "x222222" ).companyName( "Dominos" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "x333333", () -> new CompanyDetails().companyNumber( "x333333" ).companyName( "Pizza Express" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "x444444", () -> new CompanyDetails().companyNumber( "x444444" ).companyName( "Nandos" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "x555555", () -> new CompanyDetails().companyNumber( "x555555" ).companyName( "Subway" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "x666666", () -> new CompanyDetails().companyNumber( "x666666" ).companyName( "Greggs" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "x777777", () -> new CompanyDetails().companyNumber( "x777777" ).companyName( "Facebook" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "x888888", () -> new CompanyDetails().companyNumber( "x888888" ).companyName( "Twitter" ).companyStatus( "active" ) );
+ companyDetailsDtoSuppliers.put( "x999999", () -> new CompanyDetails().companyNumber( "x999999" ).companyName( "Instram" ).companyStatus( "active" ) );
}
private TestDataManager(){
diff --git a/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationMapperTest.java b/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationMapperTest.java
index fcb94da..3240b19 100644
--- a/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationMapperTest.java
+++ b/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationMapperTest.java
@@ -18,6 +18,7 @@
import uk.gov.companieshouse.accounts.association.service.UsersService;
import uk.gov.companieshouse.accounts.association.utils.MapperUtil;
import uk.gov.companieshouse.api.accounts.associations.model.Association.ApprovalRouteEnum;
+import uk.gov.companieshouse.api.accounts.associations.model.Association.CompanyStatusEnum;
import uk.gov.companieshouse.api.accounts.associations.model.Association.StatusEnum;
import uk.gov.companieshouse.api.accounts.associations.model.AssociationLinks;
@@ -67,6 +68,8 @@ void enrichAssociationWithUserDetailsWithoutDisplayNameSetsDefaultDisplayName()
Assertions.assertEquals("the.joker@gotham.city", association.getUserEmail());
Assertions.assertEquals(DEFAULT_DISPLAY_NAME, association.getDisplayName());
+ Assertions.assertEquals( "Wayne Enterprises", association.getCompanyName() );
+ Assertions.assertEquals( CompanyStatusEnum.ACTIVE, association.getCompanyStatus() );
}
@Test
@@ -82,6 +85,8 @@ void enrichAssociationWithUserDetailsSetsDisplayName() {
Assertions.assertEquals("bruce.wayne@gotham.city", association.getUserEmail());
Assertions.assertEquals("Batman", association.getDisplayName());
+ Assertions.assertEquals( "Wayne Enterprises", association.getCompanyName() );
+ Assertions.assertEquals( CompanyStatusEnum.ACTIVE, association.getCompanyStatus() );
}
@Test
@@ -110,6 +115,8 @@ void daoToDtoWithOnlyMandatoryFieldsSuccessfullyPerformsMapping() {
Assertions.assertEquals("bruce.wayne@gotham.city", dto.getUserEmail());
Assertions.assertEquals("Batman", dto.getDisplayName());
Assertions.assertEquals("/associations/1", links.getSelf());
+ Assertions.assertEquals( "Wayne Enterprises", dto.getCompanyName() );
+ Assertions.assertEquals( CompanyStatusEnum.ACTIVE, dto.getCompanyStatus() );
Assertions.assertEquals(DEFAULT_KIND, dto.getKind());
}
@@ -125,6 +132,6 @@ void daoToDtoWithAllFieldsSuccessfullyPerformsMapping() {
final var associationDto = associationUserDaoToDtoMapper.daoToDto(associationDao);
- Assertions.assertTrue( comparisonUtils.compare( expectedAssociationDto, List.of( "etag", "id", "userId", "userEmail", "displayName", "companyNumber", "companyName", "status", "createdAt", "approvedAt", "removedAt", "kind", "approvalRoute", "approvalExpiryAt", "links" ), List.of(), Map.of( "createdAt", new ReduceTimeStampResolutionPreprocessor(),"approvedAt", new ReduceTimeStampResolutionPreprocessor(), "removedAt", new ReduceTimeStampResolutionPreprocessor(), "approvalExpiryAt", new ReduceTimeStampResolutionPreprocessor() ) ).matches( associationDto ) );
+ Assertions.assertTrue( comparisonUtils.compare( expectedAssociationDto, List.of( "etag", "id", "userId", "userEmail", "displayName", "companyNumber", "companyName", "companyStatus", "status", "createdAt", "approvedAt", "removedAt", "kind", "approvalRoute", "approvalExpiryAt", "links" ), List.of(), Map.of( "createdAt", new ReduceTimeStampResolutionPreprocessor(),"approvedAt", new ReduceTimeStampResolutionPreprocessor(), "removedAt", new ReduceTimeStampResolutionPreprocessor(), "approvalExpiryAt", new ReduceTimeStampResolutionPreprocessor() ) ).matches( associationDto ) );
}
}
diff --git a/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListCompanyMapperTest.java b/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListCompanyMapperTest.java
index 7f33c39..85bc5be 100644
--- a/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListCompanyMapperTest.java
+++ b/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListCompanyMapperTest.java
@@ -16,6 +16,7 @@
import uk.gov.companieshouse.accounts.association.service.CompanyService;
import uk.gov.companieshouse.accounts.association.service.UsersService;
import uk.gov.companieshouse.accounts.association.utils.MapperUtil;
+import uk.gov.companieshouse.api.accounts.associations.model.Association.CompanyStatusEnum;
import uk.gov.companieshouse.api.company.CompanyDetails;
import java.util.ArrayList;
@@ -70,6 +71,7 @@ void daoToDtoReturnsAssociationsList() {
Assertions.assertTrue(items.stream().map(uk.gov.companieshouse.api.accounts.associations.model.Association::getUserId).toList().containsAll(List.of("111","222")));
Assertions.assertTrue(items.stream().map(uk.gov.companieshouse.api.accounts.associations.model.Association::getUserEmail).toList().containsAll(List.of("bruce.wayne@gotham.city", "the.joker@gotham.city")));
Assertions.assertTrue(items.stream().map(uk.gov.companieshouse.api.accounts.associations.model.Association::getCompanyName).allMatch(companyName -> companyName.equals("Wayne Enterprises")));
+ Assertions.assertTrue(items.stream().map(uk.gov.companieshouse.api.accounts.associations.model.Association::getCompanyStatus).allMatch(companyStatus -> companyStatus.equals( CompanyStatusEnum.ACTIVE )));
Assertions.assertEquals("/associations/companies/111111?page_index=0&items_per_page=2", links.getSelf());
Assertions.assertEquals(String.format("/associations/companies/111111?page_index=%d&items_per_page=%d", 1, 2), links.getNext());
Assertions.assertEquals(0, associationsList.getPageNumber());
diff --git a/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListUserMapperTest.java b/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListUserMapperTest.java
index 1bfcb1f..7d39439 100644
--- a/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListUserMapperTest.java
+++ b/src/test/java/uk/gov/companieshouse/accounts/association/mapper/AssociationsListUserMapperTest.java
@@ -17,6 +17,7 @@
import uk.gov.companieshouse.accounts.association.utils.MapperUtil;
import java.util.Arrays;
+import uk.gov.companieshouse.api.accounts.associations.model.Association.CompanyStatusEnum;
@ExtendWith(MockitoExtension.class)
@Tag("unit-test")
@@ -58,6 +59,7 @@ void daoToDtoWithAllFieldsSuccessfullyPerformsMapping() {
Assertions.assertTrue(items.stream().map(uk.gov.companieshouse.api.accounts.associations.model.Association::getUserId).toList().contains("111"));
Assertions.assertTrue(items.stream().map(uk.gov.companieshouse.api.accounts.associations.model.Association::getUserEmail).toList().contains("bruce.wayne@gotham.city"));
Assertions.assertTrue(items.stream().map(uk.gov.companieshouse.api.accounts.associations.model.Association::getCompanyName).toList().containsAll(Arrays.asList("Wayne Enterprises", "Tesco")));
+ Assertions.assertTrue(items.stream().map(uk.gov.companieshouse.api.accounts.associations.model.Association::getCompanyStatus).allMatch(companyStatus -> companyStatus.equals( CompanyStatusEnum.ACTIVE )));
Assertions.assertEquals("/associations?page_index=0&items_per_page=2", links.getSelf());
Assertions.assertEquals(String.format("/associations?page_index=%d&items_per_page=%d", 1, 2), links.getNext());
Assertions.assertEquals(0, dto.getPageNumber());