Skip to content

Commit 97353b5

Browse files
authored
Pi 2886 filter future dated contacts (#825)
* PI-2886: do not return future dated contacts * PI-2886: update unit test data * PI-2886: remove time filter, as this will be picked up on a separate task
1 parent c7f5b31 commit 97353b5

File tree

3 files changed

+479
-473
lines changed

3 files changed

+479
-473
lines changed

src/main/kotlin/uk/gov/justice/hmpps/probationsearch/contactsearch/activitysearch/ActivitySearchService.kt

+1-4
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ import uk.gov.justice.hmpps.probationsearch.services.shouldAll
3737
import uk.gov.justice.hmpps.sqs.audit.HmppsAuditService
3838
import java.time.Instant
3939
import java.time.LocalDate
40-
import java.time.LocalTime
41-
import java.time.format.DateTimeFormatter
4240

4341
@Service
4442
class ActivitySearchService(
@@ -167,9 +165,8 @@ private fun BoolQueryBuilder.fromActivityRequest(request: ActivitySearchRequest)
167165
filter(rangeQuery("date").lte(it.toString()))
168166
}
169167

170-
if (request.filters.contains(ActivitySearchService.ActivityFilter.NO_OUTCOME.filterName)) {
168+
if (request.dateTo == null) {
171169
filter(rangeQuery("date").lte(LocalDate.now()))
172-
filter(rangeQuery("startTime").lte(LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss"))))
173170
}
174171

175172
val filters = ActivitySearchService.ActivityFilter.entries.filter { request.filters.contains(it.filterName) }

src/test/kotlin/uk/gov/justice/hmpps/probationsearch/contactsearch/activitysearch/ActivityGenerator.kt

+23-12
Original file line numberDiff line numberDiff line change
@@ -47,22 +47,22 @@ object ActivityGenerator {
4747

4848
val contacts = listOf(
4949
generate(
50-
startTime = LocalTime.of(9, 0),
50+
startTime = LocalTime.now(),
5151
date = LocalDate.now().plusDays(2),
5252
lastUpdatedDateTime = LocalDateTime.now().minusSeconds(10),
5353
outcomeDescription = "outcome1",
5454
),
5555

5656
generate(
5757
crn = "X123456",
58-
startTime = LocalTime.of(9, 0),
58+
startTime = LocalTime.now(),
5959
date = LocalDate.now().plusDays(2),
6060
lastUpdatedDateTime = LocalDateTime.now().minusSeconds(10),
6161
outcomeDescription = "outcome1",
6262
),
6363

6464
generate(
65-
startTime = LocalTime.of(9, 30),
65+
startTime = LocalTime.now(),
6666
date = LocalDate.now().plusDays(1),
6767
lastUpdatedDateTime = LocalDateTime.now().minusSeconds(20),
6868
complied = "complied",
@@ -71,15 +71,15 @@ object ActivityGenerator {
7171

7272
generate(
7373
crn = "X123456",
74-
startTime = LocalTime.of(9, 30),
75-
date = LocalDate.now().plusDays(1),
74+
startTime = LocalTime.now().plusMinutes(10),
75+
date = LocalDate.now().minusDays(1),
7676
lastUpdatedDateTime = LocalDateTime.now().minusSeconds(20),
7777
complied = "complied",
7878
notes = "I complied",
7979
),
8080

8181
generate(
82-
startTime = LocalTime.of(10, 30),
82+
startTime = LocalTime.now(),
8383
date = LocalDate.now().plusDays(0),
8484
lastUpdatedDateTime = LocalDateTime.now().minusSeconds(40),
8585
notes = "I have no outcome",
@@ -91,13 +91,13 @@ object ActivityGenerator {
9191
notes = "I have no outcome date in the future",
9292
),
9393
generate(
94-
startTime = LocalTime.of(10, 30),
94+
startTime = LocalTime.now(),
9595
date = LocalDate.now().plusDays(1),
9696
lastUpdatedDateTime = LocalDateTime.now().minusSeconds(40),
9797
notes = "I have no outcome date in the future",
9898
),
9999
generate(
100-
startTime = LocalTime.of(10, 0),
100+
startTime = LocalTime.now(),
101101
date = LocalDate.now().plusDays(0),
102102
lastUpdatedDateTime = LocalDateTime.now().minusSeconds(30),
103103
outcomeDescription = "outcome2",
@@ -106,7 +106,18 @@ object ActivityGenerator {
106106
typeCode = "TYPE_CODE1",
107107
typeDescription = "Special Description to be found",
108108
date = LocalDate.now().plusDays(-1),
109-
startTime = LocalTime.of(11, 0),
109+
startTime = LocalTime.now(),
110+
outcomeDescription = "outcome3",
111+
complied = "ftc",
112+
notes = "I failed to comply",
113+
),
114+
115+
generate(
116+
crn = "X123456",
117+
typeCode = "TYPE_CODE1",
118+
typeDescription = "Special Description to be found",
119+
date = LocalDate.now().plusDays(-1),
120+
startTime = LocalTime.now(),
110121
outcomeDescription = "outcome3",
111122
complied = "ftc",
112123
notes = "I failed to comply",
@@ -116,7 +127,7 @@ object ActivityGenerator {
116127
typeCode = "TYPE_CODE2",
117128
typeDescription = "Another Special Description to be found",
118129
date = LocalDate.now().plusDays(-2),
119-
startTime = LocalTime.of(11, 0),
130+
startTime = LocalTime.now(),
120131
outcomeDescription = "outcome4",
121132
notes = "I failed to comply",
122133
),
@@ -126,7 +137,7 @@ object ActivityGenerator {
126137
typeCode = "TYPE_CODE2ANOTHER",
127138
typeDescription = "Another Special Description to be found",
128139
date = LocalDate.now().plusDays(-2),
129-
startTime = LocalTime.of(11, 0),
140+
startTime = LocalTime.now(),
130141
outcomeDescription = "outcome4",
131142
notes = "I failed to comply",
132143
),
@@ -135,7 +146,7 @@ object ActivityGenerator {
135146
typeCode = "TYPE_CODE3",
136147
typeDescription = "3 days ago",
137148
date = LocalDate.now().plusDays(-3),
138-
startTime = LocalTime.of(11, 0),
149+
startTime = LocalTime.now(),
139150
outcomeDescription = "outcome5",
140151
notes = "I failed to comply",
141152
),

0 commit comments

Comments
 (0)