Skip to content

Commit ab30c80

Browse files
authored
Merge pull request #184 from companieshouse/feature/fix-company-psc-list-sort-ordering
Fix unpredictable sorting in PSC list aggregation queries
2 parents a61feb1 + c63bffd commit ab30c80

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
<properties>
1616
<java.version>21</java.version>
1717
<start-class>uk.gov.companieshouse.pscdataapi.PscDataApiApplication</start-class>
18-
<spring-boot-dependencies.version>3.4.2</spring-boot-dependencies.version>
19-
<spring-boot-maven-plugin.version>3.4.1</spring-boot-maven-plugin.version>
18+
<spring-boot-dependencies.version>3.4.4</spring-boot-dependencies.version>
19+
<spring-boot-maven-plugin.version>3.4.4</spring-boot-maven-plugin.version>
2020
<maven.compiler.source>${java.version}</maven.compiler.source>
2121
<maven.compiler.target>${java.version}</maven.compiler.target>
2222
<maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
@@ -33,7 +33,7 @@
3333
<structured-logging.version>3.0.20</structured-logging.version>
3434
<private-api-sdk-java.version>4.0.269</private-api-sdk-java.version>
3535
<api-sdk-java.version>6.0.36</api-sdk-java.version>
36-
<api-security-java.version>2.0.5</api-security-java.version>
36+
<api-security-java.version>2.0.8</api-security-java.version>
3737

3838
<!-- tests -->
3939
<io-cucumber.version>7.20.1</io-cucumber.version>

src/itest/java/uk/gov/companieshouse/pscdataapi/CucumberFeaturesRunnerIT.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package uk.gov.companieshouse.pscdataapi;
22

33
import io.cucumber.spring.CucumberContextConfiguration;
4+
import org.junit.platform.suite.api.IncludeEngines;
45
import org.junit.platform.suite.api.SelectClasspathResource;
56
import org.junit.platform.suite.api.Suite;
67
import org.springframework.boot.test.context.SpringBootTest;
@@ -16,6 +17,7 @@
1617
import uk.gov.companieshouse.pscdataapi.service.CompanyMetricsApiService;
1718

1819
@Suite
20+
@IncludeEngines("cucumber")
1921
@SelectClasspathResource("features")
2022
@CucumberContextConfiguration
2123
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)

src/main/java/uk/gov/companieshouse/pscdataapi/repository/CompanyPscRepository.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public interface CompanyPscRepository extends MongoRepository<PscDocument, Strin
2020

2121
@Aggregation(pipeline = {
2222
"{'$match': { 'company_number': ?0} } }",
23-
"{'$sort': {'data.notified_on': -1, 'data.ceased_on': -1 } }",
23+
"{'$sort': {'data.notified_on': -1, 'data.ceased_on': -1, 'created.at': 1 } }",
2424
"{'$skip': ?1}",
2525
"{'$limit': ?2}",
2626
})
@@ -30,7 +30,7 @@ List<PscDocument> getPscDocumentList(String companyNumber,
3030
"{'$match': { 'company_number' : ?0, "
3131
+ "$or:[ { '" + "data.ceased_on': { $gte : { \"$date\" : \"?2\" }} },"
3232
+ "{ 'data.ceased_on': {$exists: false }} ]} }",
33-
"{'$sort': {'data.notified_on': -1, 'data.ceased_on': -1 } }",
33+
"{'$sort': {'data.notified_on': -1, 'data.ceased_on': -1, 'created.at': 1 } }",
3434
"{'$skip': ?1}",
3535
"{'$limit': ?3}",
3636
})

0 commit comments

Comments
 (0)