Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions app/uk/gov/hmrc/tai/model/domain/TaxCodeChange.scala
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ case class TaxCodeChange(previous: List[TaxCodeRecord], current: List[TaxCodeRec

require(current.nonEmpty, "No current records for Tax Code Change. Current date cannot be determined.")

val currentPensionCount: Int = current.count(_.pensionIndicator)
val currentEmploymentCount: Int = current.count(!_.pensionIndicator)
val mostRecentTaxCodeChangeDate: LocalDate = DateHelper.mostRecentDate(current.map(_.startDate))
val mostRecentPreviousTaxCodeChangeDate: LocalDate =
DateHelper.mostRecentDate(previous.map(_.startDate))
val currentPensionCount: Int = current.count(_.pensionIndicator)
val currentEmploymentCount: Int = current.count(!_.pensionIndicator)
val mostRecentTaxCodeChangeDate: LocalDate = DateHelper.mostRecentDate(current.map(_.startDate))
val mostRecentPreviousTaxCodeChangeDate: Option[LocalDate] =
DateHelper.mostRecentDateOption(previous.map(_.startDate))

lazy val uniqueTaxCodes: Seq[String] = (previous ++ current).map(_.taxCode).distinct
}
Expand Down
3 changes: 3 additions & 0 deletions app/uk/gov/hmrc/tai/util/DateHelper.scala
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ object DateHelper {
def mostRecentDate(dates: Seq[LocalDate]): LocalDate =
dates.min

def mostRecentDateOption(dates: Seq[LocalDate]): Option[LocalDate] =
dates.reduceOption((a, b) => if (a.isAfter(b)) a else b)

def monthOfYear(date: String): String = {
val monthRegex = "[A-Za-z]+".r
monthRegex.findFirstIn(date).getOrElse("")
Expand Down
2 changes: 1 addition & 1 deletion test/uk/gov/hmrc/tai/model/domain/TaxCodeChangeSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class TaxCodeChangeSpec extends PlaySpec {
val model =
TaxCodeChange(List(previousTaxCodeRecord1, fullYearTaxCode), List(currentTaxCodeRecord1, fullYearTaxCode))

model.mostRecentPreviousTaxCodeChangeDate mustEqual startDate
model.mostRecentPreviousTaxCodeChangeDate mustEqual Some(startDate)
}
}

Expand Down