Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/DTSCCI-1592_AddCachingDashboard'…
Browse files Browse the repository at this point in the history
… into DTSCCI-1592_AddCachingDashboard
  • Loading branch information
ruban72 committed Feb 13, 2025
2 parents 5b766b0 + 793e834 commit ed564d2
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.UUID;

@Transactional
Expand All @@ -16,7 +15,7 @@ public interface TaskListRepository extends CrudRepository<TaskListEntity, UUID>

List<TaskListEntity> findByReferenceAndTaskItemTemplateRole(String reference, String role);

Optional<TaskListEntity> findByReferenceAndTaskItemTemplateRoleAndTaskItemTemplateTemplateName(
List<TaskListEntity> findByReferenceAndTaskItemTemplateRoleAndTaskItemTemplateTemplateName(
String reference, String role, String templateName);

List<TaskListEntity> findByReferenceAndTaskItemTemplateRoleAndCurrentStatusNotIn(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,22 @@ public List<TaskList> getTaskList(String ccdCaseIdentifier, String roleType) {
public TaskListEntity saveOrUpdate(TaskListEntity taskList) {

TaskItemTemplateEntity taskItemTemplate = taskList.getTaskItemTemplate();
Optional<TaskListEntity> existingEntity = taskListRepository
List<TaskListEntity> entities = taskListRepository
.findByReferenceAndTaskItemTemplateRoleAndTaskItemTemplateTemplateName(
taskList.getReference(),
taskItemTemplate.getRole(),
taskItemTemplate.getTemplateName()
);

Optional<TaskListEntity> latestEntity = entities.stream()
.max(Comparator.comparing(TaskListEntity::getCreatedAt));

TaskListEntity beingUpdated = taskList;
if (existingEntity.isPresent()) {
beingUpdated = taskList.toBuilder().id(existingEntity.get().getId()).build();
if (latestEntity.isPresent()) {
beingUpdated = taskList.toBuilder().id(latestEntity.get().getId()).build();
entities.stream()
.filter(e -> !e.equals(latestEntity.get()))
.forEach(duplicateEntity -> taskListRepository.deleteById(duplicateEntity.getId()));
}

return taskListRepository.save(beingUpdated);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import uk.gov.hmcts.reform.dashboard.repositories.TaskItemTemplateRepository;
import uk.gov.hmcts.reform.dashboard.repositories.TaskListRepository;

import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
Expand Down Expand Up @@ -290,4 +291,46 @@ void shouldMakeProgressAbleTaskListInactive_Except_Ga_whenTaskListIsPresent() {
));
}

@Test
public void shouldDeleteWhenThereWereDuplicateEntriesInTheRepository() {
TaskListEntity task = getTaskListEntity(UUID.randomUUID()).toBuilder()
.currentStatus(TaskStatus.AVAILABLE.getPlaceValue())
.taskNameEn("<a href=\"somewhere\">Link name</A >")
.taskNameCy("<A href=\"somewhere\">Link name Welsh</A>")
.createdAt(OffsetDateTime.MAX)
.build();

TaskListEntity task2 = getTaskListEntity(UUID.randomUUID()).toBuilder()
.taskNameEn("<a href=\"somewhere\">Link name</A >")
.taskNameCy("<A href=\"somewhere\">Link name Welsh</A>")
.currentStatus(TaskStatus.NOT_AVAILABLE_YET.getPlaceValue())
.createdAt(OffsetDateTime.MIN.plusDays(99L))
.build();

TaskListEntity task3 = getTaskListEntity(UUID.randomUUID()).toBuilder()
.currentStatus(TaskStatus.INACTIVE.getPlaceValue())
.taskNameEn("<a href=\"somewhere\">Link name</A >")
.taskNameCy("<A href=\"somewhere\">Link name Welsh</A>")
.createdAt(OffsetDateTime.MIN.plusDays(20L))
.build();

List<TaskListEntity> tasks = new ArrayList<>();
tasks.add(task);
tasks.add(task2);
tasks.add(task3);

when(taskListRepository
.findByReferenceAndTaskItemTemplateRoleAndTaskItemTemplateTemplateName(
any(),
any(),
any()
)).thenReturn(tasks);

taskListService.saveOrUpdate(task);

verify(taskListRepository).deleteById(task2.getId());
verify(taskListRepository).deleteById(task3.getId());
verify(taskListRepository).save(task);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import org.springframework.stereotype.Component;
import uk.gov.hmcts.reform.civil.enums.AllocatedTrack;
import uk.gov.hmcts.reform.civil.enums.CaseCategory;
import uk.gov.hmcts.reform.civil.enums.CaseState;
import uk.gov.hmcts.reform.civil.enums.DJPaymentTypeSelection;
import uk.gov.hmcts.reform.civil.enums.MultiPartyScenario;
import uk.gov.hmcts.reform.civil.enums.ReasonForProceedingOnPaper;
Expand Down Expand Up @@ -2345,8 +2344,7 @@ private void buildMiscellaneousDJEvent(EventHistory.EventHistoryBuilder builder,
String miscTextRequested = "RPA Reason: Default Judgment requested and claim moved offline.";
String miscTextGranted = "RPA Reason: Default Judgment granted and claim moved offline.";

if (featureToggleService.isJOLiveFeedActive()
&& caseData.getCcdState() == CaseState.All_FINAL_ORDERS_ISSUED) {
if (featureToggleService.isJOLiveFeedActive()) {
miscTextGranted = RECORD_JUDGMENT;
}

Expand All @@ -2355,7 +2353,7 @@ private void buildMiscellaneousDJEvent(EventHistory.EventHistoryBuilder builder,
Event.builder()
.eventSequence(prepareEventSequence(builder.build()))
.eventCode(MISCELLANEOUS.getCode())
.dateReceived(LocalDateTime.now())
.dateReceived(getDateOfDjCreated(caseData))
.eventDetailsText(grantedFlag ? miscTextRequested : miscTextGranted)
.eventDetails(EventDetails.builder()
.miscText(grantedFlag ? miscTextRequested : miscTextGranted)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7844,6 +7844,7 @@ public void shouldgenerateRPAfeedfor_DJNoDivergent_case_online_999_event() {
+ "Subtotal \n £1172.00\n\n ### Amount"
+ " already paid \n£100.00\n ## Total still owed \n £1072.00")
.respondent2SameLegalRepresentative(YES)
.joDJCreatedDate(LocalDateTime.now())
.hearingSupportRequirementsDJ(HearingSupportRequirementsDJ.builder().build())
.respondent1ResponseDeadline(LocalDateTime.now().minusDays(15))
.defendantDetailsSpec(DynamicList.builder()
Expand Down Expand Up @@ -7875,6 +7876,7 @@ public void shouldgenerateRPAfeedfor_DJNoDivergent_case_offline_999_event() {
.respondent2(PartyBuilder.builder().individual().build())
.addRespondent2(YES)
.paymentTypeSelection(DJPaymentTypeSelection.REPAYMENT_PLAN)
.joDJCreatedDate(LocalDateTime.now())
.repaymentSummaryObject(
"The judgment will order dsfsdf ffdg to pay £1072.00, "
+ "including the claim fee and interest,"
Expand Down Expand Up @@ -7942,7 +7944,7 @@ public void shouldgenerateRPAfeedfor_DJ_event_update_sequenceno() {
assertThat(eventHistory).extracting("miscellaneous").asList()
.extracting("eventCode").asString().contains("999");
assertThat(eventHistory).extracting("miscellaneous").asList()
.extracting("eventSequence").asString().contains("5");
.extracting("eventSequence").asString().contains("3");
assertThat(eventHistory).extracting("miscellaneous").asList()
.extracting("eventDetailsText").asString().isNotEmpty();
}
Expand Down

0 comments on commit ed564d2

Please sign in to comment.