Skip to content

Commit f48a652

Browse files
committed
fixup! fixup! fixup! HAI-3538 Send a reminder email when a draft hanke has been unmodified for 175 or 165 days (either limit, not both).
1 parent 81bd61f commit f48a652

2 files changed

Lines changed: 32 additions & 40 deletions

File tree

services/hanke-service/src/integrationTest/kotlin/fi/hel/haitaton/hanke/HankeCompletionServiceITest.kt

Lines changed: 26 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ import org.junit.jupiter.params.provider.EnumSource
5757
import org.junit.jupiter.params.provider.ValueSource
5858
import org.springframework.beans.factory.annotation.Autowired
5959

60+
private const val EMAIL_PERUSTAJA = "pertti@perustaja.test"
61+
private const val EMAIL_OMISTAJA = "olivia.omistaja@mail.com"
62+
private const val EMAIL_RAKENNUTTAJA = "rane.rakennuttaja@mail.com"
63+
private const val EMAIL_ASIANHOITAJA = "anssi.asianhoitaja@mail.com"
64+
6065
class HankeCompletionServiceITest(
6166
@Autowired private val hankeCompletionService: HankeCompletionService,
6267
@Autowired private val hakemusFactory: HakemusFactory,
@@ -672,10 +677,10 @@ class HankeCompletionServiceITest(
672677
assertThat(recipients).hasSize(4)
673678
assertThat(recipients)
674679
.containsExactlyInAnyOrder(
675-
"pertti@perustaja.test",
676-
"olivia.omistaja@mail.com",
677-
"rane.rakennuttaja@mail.com",
678-
"anssi.asianhoitaja@mail.com",
680+
EMAIL_PERUSTAJA,
681+
EMAIL_OMISTAJA,
682+
EMAIL_RAKENNUTTAJA,
683+
EMAIL_ASIANHOITAJA,
679684
)
680685
val email = emails.first()
681686
assertThat(email.subject)
@@ -801,11 +806,7 @@ class HankeCompletionServiceITest(
801806
val recipients = greenMail.receivedMessages.map { it.allRecipients.single().toString() }
802807
assertThat(recipients).hasSize(3)
803808
assertThat(recipients)
804-
.containsExactlyInAnyOrder(
805-
"pertti@perustaja.test",
806-
"omistaja@test",
807-
"toteuttaja@test",
808-
)
809+
.containsExactlyInAnyOrder(EMAIL_PERUSTAJA, "omistaja@test", "toteuttaja@test")
809810
}
810811

811812
@Test
@@ -911,7 +912,7 @@ class HankeCompletionServiceITest(
911912
assertThat(updatedHanke.sentReminders).containsExactly(HankeReminder.COMPLETION_5)
912913
val email = greenMail.firstReceivedMessage()
913914
assertThat(email.allRecipients).hasSize(1)
914-
assertThat(email.allRecipients[0].toString()).isEqualTo("pertti@perustaja.test")
915+
assertThat(email.allRecipients[0].toString()).isEqualTo(EMAIL_PERUSTAJA)
915916
assertThat(email.subject)
916917
.isEqualTo(
917918
"Haitaton: Hankkeesi ${hanke.hankeTunnus} päättymispäivä lähenee " +
@@ -942,7 +943,7 @@ class HankeCompletionServiceITest(
942943
assertThat(updatedHanke.sentReminders).containsExactly(HankeReminder.COMPLETION_5)
943944
val email = greenMail.firstReceivedMessage()
944945
assertThat(email.allRecipients).hasSize(1)
945-
assertThat(email.allRecipients[0].toString()).isEqualTo("pertti@perustaja.test")
946+
assertThat(email.allRecipients[0].toString()).isEqualTo(EMAIL_PERUSTAJA)
946947
assertThat(email.subject)
947948
.isEqualTo(
948949
"Haitaton: Hankkeesi ${hanke.hankeTunnus} päättymispäivä lähenee " +
@@ -1079,7 +1080,7 @@ class HankeCompletionServiceITest(
10791080
assertThat(updatedHanke.sentReminders).containsExactly(HankeReminder.COMPLETION_14)
10801081
val email = greenMail.firstReceivedMessage()
10811082
assertThat(email.allRecipients).hasSize(1)
1082-
assertThat(email.allRecipients[0].toString()).isEqualTo("pertti@perustaja.test")
1083+
assertThat(email.allRecipients[0].toString()).isEqualTo(EMAIL_PERUSTAJA)
10831084
assertThat(email.subject)
10841085
.isEqualTo(
10851086
"Haitaton: Hankkeesi ${hanke.hankeTunnus} päättymispäivä lähenee " +
@@ -1113,7 +1114,7 @@ class HankeCompletionServiceITest(
11131114
assertThat(updatedHanke.sentReminders).containsExactly(HankeReminder.COMPLETION_14)
11141115
val email = greenMail.firstReceivedMessage()
11151116
assertThat(email.allRecipients).hasSize(1)
1116-
assertThat(email.allRecipients[0].toString()).isEqualTo("pertti@perustaja.test")
1117+
assertThat(email.allRecipients[0].toString()).isEqualTo(EMAIL_PERUSTAJA)
11171118
assertThat(email.subject)
11181119
.isEqualTo(
11191120
"Haitaton: Hankkeesi ${hanke.hankeTunnus} päättymispäivä lähenee " +
@@ -1362,7 +1363,7 @@ class HankeCompletionServiceITest(
13621363
assertThat(updatedHanke.sentReminders).containsExactly(HankeReminder.DELETION_5)
13631364
val email = greenMail.firstReceivedMessage()
13641365
assertThat(email.allRecipients).hasSize(1)
1365-
assertThat(email.allRecipients[0].toString()).isEqualTo("pertti@perustaja.test")
1366+
assertThat(email.allRecipients[0].toString()).isEqualTo(EMAIL_PERUSTAJA)
13661367
assertThat(email.subject)
13671368
.isEqualTo(
13681369
"Haitaton: Hankkeesi ${hanke.hankeTunnus} poistetaan järjestelmästä " +
@@ -1426,11 +1427,7 @@ class HankeCompletionServiceITest(
14261427
val recipients = greenMail.receivedMessages.map { it.allRecipients.single().toString() }
14271428
assertThat(recipients).hasSize(3)
14281429
assertThat(recipients)
1429-
.containsExactlyInAnyOrder(
1430-
"pertti@perustaja.test",
1431-
"omistaja@test",
1432-
"toteuttaja@test",
1433-
)
1430+
.containsExactlyInAnyOrder(EMAIL_PERUSTAJA, "omistaja@test", "toteuttaja@test")
14341431
}
14351432
}
14361433

@@ -1547,10 +1544,10 @@ class HankeCompletionServiceITest(
15471544
assertThat(recipients).hasSize(4)
15481545
assertThat(recipients)
15491546
.containsExactlyInAnyOrder(
1550-
"pertti@perustaja.test",
1551-
"olivia.omistaja@mail.com",
1552-
"rane.rakennuttaja@mail.com",
1553-
"anssi.asianhoitaja@mail.com",
1547+
EMAIL_PERUSTAJA,
1548+
EMAIL_OMISTAJA,
1549+
EMAIL_RAKENNUTTAJA,
1550+
EMAIL_ASIANHOITAJA,
15541551
)
15551552
val email = emails.first()
15561553
assertThat(email.subject)
@@ -1608,11 +1605,7 @@ class HankeCompletionServiceITest(
16081605
assertThat(emails).hasSize(3)
16091606
val recipients = emails.map { it.allRecipients.single().toString() }
16101607
assertThat(recipients)
1611-
.containsExactlyInAnyOrder(
1612-
"pertti@perustaja.test",
1613-
"olivia.omistaja@mail.com",
1614-
"rane.rakennuttaja@mail.com",
1615-
)
1608+
.containsExactlyInAnyOrder(EMAIL_PERUSTAJA, EMAIL_OMISTAJA, EMAIL_RAKENNUTTAJA)
16161609

16171610
val email = emails.first()
16181611
assertThat(email.subject)
@@ -1649,11 +1642,7 @@ class HankeCompletionServiceITest(
16491642
assertThat(emails).hasSize(3)
16501643
val recipients = emails.map { it.allRecipients.single().toString() }
16511644
assertThat(recipients)
1652-
.containsExactlyInAnyOrder(
1653-
"pertti@perustaja.test",
1654-
"olivia.omistaja@mail.com",
1655-
"rane.rakennuttaja@mail.com",
1656-
)
1645+
.containsExactlyInAnyOrder(EMAIL_PERUSTAJA, EMAIL_OMISTAJA, EMAIL_RAKENNUTTAJA)
16571646

16581647
val email = emails.first()
16591648
assertThat(email.subject)
@@ -1691,10 +1680,10 @@ class HankeCompletionServiceITest(
16911680
assertThat(recipients).hasSize(4)
16921681
assertThat(recipients)
16931682
.containsExactlyInAnyOrder(
1694-
"olivia.omistaja@mail.com",
1695-
"rane.rakennuttaja@mail.com",
1696-
"anssi.asianhoitaja@mail.com",
1697-
"pertti@perustaja.test",
1683+
EMAIL_OMISTAJA,
1684+
EMAIL_RAKENNUTTAJA,
1685+
EMAIL_ASIANHOITAJA,
1686+
EMAIL_PERUSTAJA,
16981687
)
16991688
}
17001689
}

services/hanke-service/src/main/kotlin/fi/hel/haitaton/hanke/HankeCompletionScheduler.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ import org.springframework.stereotype.Service
1212

1313
private val logger = KotlinLogging.logger {}
1414

15+
private const val COMPLETION_DISABLED_LOG_MESSAGE =
16+
"Hanke completion is disabled, not running daily completion job."
17+
1518
@Service
1619
@Profile("!test")
1720
class HankeCompletionScheduler(
@@ -22,7 +25,7 @@ class HankeCompletionScheduler(
2225
@Scheduled(cron = "\${haitaton.hanke.completions.cron}", zone = "Europe/Helsinki")
2326
fun completeHankkeet() {
2427
if (featureFlags.isDisabled(Feature.HANKE_COMPLETION)) {
25-
logger.info { "Hanke completion is disabled, not running daily completion job." }
28+
logger.info { COMPLETION_DISABLED_LOG_MESSAGE }
2629
return
2730
}
2831

@@ -99,7 +102,7 @@ class HankeCompletionScheduler(
99102
)
100103
fun sendUnmodifiedDraftReminders() {
101104
if (featureFlags.isDisabled(Feature.HANKE_COMPLETION)) {
102-
logger.info { "Hanke completion is disabled, not running daily completion job." }
105+
logger.info { COMPLETION_DISABLED_LOG_MESSAGE }
103106
return
104107
}
105108

@@ -144,7 +147,7 @@ class HankeCompletionScheduler(
144147
)
145148
fun completeDrafts() {
146149
if (featureFlags.isDisabled(Feature.HANKE_COMPLETION)) {
147-
logger.info { "Hanke completion is disabled, not running daily completion job." }
150+
logger.info { COMPLETION_DISABLED_LOG_MESSAGE }
148151
return
149152
}
150153

0 commit comments

Comments
 (0)