Skip to content

Commit 83c8fd8

Browse files
committed
Completed Filings stay in 'Completed' status
1 parent a24ff8c commit 83c8fd8

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

persistence/src/main/scala/hmda/persistence/institutions/FilingPersistence.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ class FilingPersistence(institutionId: String) extends HmdaPersistentActor {
5757

5858
case UpdateFilingStatus(period, newStatus) =>
5959
state.filings.find(f => f.period == period) match {
60+
case Some(filing) if filing.status == Completed =>
61+
sender() ! None
62+
log.debug(s"$period Filing for Institution $institutionId is already Completed. Not updating status")
6063
case Some(filing) =>
6164
val startTime = if (newStatus == InProgress) System.currentTimeMillis else filing.start
6265
val endTime = if (newStatus == Completed) System.currentTimeMillis else filing.end

persistence/src/test/scala/hmda/persistence/institutions/FilingPersistenceSpec.scala

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class FilingPersistenceSpec extends ActorSpec {
1010

1111
val filingsActor = createFilings("12345", system)
1212

13-
val sample1 = Filing("2016", "12345", Completed, filingRequired = true, 1483287071000L, 1514736671000L)
13+
val sample1 = Filing("2016", "12345", Cancelled, filingRequired = true, 1483287071000L, 1514736671000L)
1414
val sample2 = Filing("2017", "12345", NotStarted, filingRequired = true, 0L, 0L)
1515

1616
val probe = TestProbe()
@@ -38,8 +38,8 @@ class FilingPersistenceSpec extends ActorSpec {
3838

3939
"UpdateFilingStatus" must {
4040
"update status of filing for given period" in {
41-
val expected = sample1.copy(status = Cancelled)
42-
probe.send(filingsActor, UpdateFilingStatus("2016", Cancelled))
41+
val expected = sample1.copy(status = NotStarted)
42+
probe.send(filingsActor, UpdateFilingStatus("2016", NotStarted))
4343
probe.expectMsg(Some(expected))
4444
probe.send(filingsActor, GetFilingByPeriod("2016"))
4545
probe.expectMsg(expected)
@@ -62,6 +62,10 @@ class FilingPersistenceSpec extends ActorSpec {
6262
comp.start mustBe startTime
6363
comp.end must be > 0L
6464
}
65+
"not update if filing status is already 'Completed'" in {
66+
probe.send(filingsActor, UpdateFilingStatus("2017", InProgress))
67+
probe.expectMsg(None)
68+
}
6569
}
6670

6771
}

0 commit comments

Comments
 (0)