Skip to content
Draft
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
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
import org.junit.jupiter.params.provider.NullSource;
import org.springframework.test.context.bean.override.mockito.MockitoBean;
import uk.gov.hmcts.reform.preapi.controllers.params.TestingSupportRoles;
import uk.gov.hmcts.reform.preapi.dto.EditCutInstructionDTO;
import uk.gov.hmcts.reform.preapi.dto.EditRequestDTO;
import uk.gov.hmcts.reform.preapi.dto.edit.EditCutInstructionsDTO;
import uk.gov.hmcts.reform.preapi.dto.edit.EditRequestDTO;
import uk.gov.hmcts.reform.preapi.dto.FfmpegEditInstructionDTO;
import uk.gov.hmcts.reform.preapi.dto.RecordingDTO;
import uk.gov.hmcts.reform.preapi.enums.EditRequestStatus;
Expand Down Expand Up @@ -47,13 +47,13 @@ void editFromCsvSuccess() throws JsonProcessingException {
).as(EditRequestDTO.class);

assertThat(postResponse.getId()).isNotNull();
assertThat(postResponse.getSourceRecording().getId()).isEqualTo(recordingDetails.recordingId());
assertThat(postResponse.getSourceRecordingId()).isEqualTo(recordingDetails.recordingId());
assertThat(postResponse.getStatus()).isEqualTo(EditRequestStatus.PENDING);

var instructions = postResponse.getEditInstruction();
assertThat(postResponse.getEditInstruction()).isNotNull();
List<EditCutInstructionsDTO> instructions = postResponse.getEditCutInstructions();
assertThat(postResponse.getEditCutInstructions()).isNotNull();

List<EditCutInstructionDTO> requestedInstructions = instructions.getRequestedInstructions();
List<EditCutInstructionsDTO> requestedInstructions = instructions.getRequestedInstructions();
assertThat(requestedInstructions).isNotEmpty();
assertThat(requestedInstructions.size()).isEqualTo(2);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,13 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import uk.gov.hmcts.reform.preapi.email.govnotify.GovNotify;
import uk.gov.hmcts.reform.preapi.entities.Booking;
import uk.gov.hmcts.reform.preapi.entities.CaptureSession;
import uk.gov.hmcts.reform.preapi.email.govnotify.templates.EditEmailParameters;
import uk.gov.hmcts.reform.preapi.entities.Case;
import uk.gov.hmcts.reform.preapi.entities.Court;
import uk.gov.hmcts.reform.preapi.entities.EditRequest;
import uk.gov.hmcts.reform.preapi.entities.Participant;
import uk.gov.hmcts.reform.preapi.entities.Recording;
import uk.gov.hmcts.reform.preapi.entities.User;
import uk.gov.hmcts.reform.preapi.enums.ParticipantType;
import uk.gov.hmcts.reform.preapi.enums.EditRequestStatus;

import java.sql.Timestamp;
import java.util.Set;

import static org.junit.jupiter.api.Assertions.assertEquals;

Expand Down Expand Up @@ -49,32 +44,25 @@ private Case createCase() {
return forCase;
}

private Participant createParticipant(ParticipantType type) {
var participant = new Participant();
participant.setFirstName("First");
participant.setLastName("Last");
participant.setParticipantType(type);
return participant;
}

private EditRequest createEditRequest() {
var aCase = createCase();
var booking = new Booking();
booking.setCaseId(aCase);
booking.setParticipants(Set.of(
createParticipant(ParticipantType.WITNESS),
createParticipant(ParticipantType.DEFENDANT)));
var captureSession = new CaptureSession();
captureSession.setBooking(booking);
var recording = new Recording();
recording.setCaptureSession(captureSession);
var request = new EditRequest();
request.setSourceRecording(recording);
request.setEditInstruction(
"{\"requestedInstructions\":"
+ "[{\"start_of_cut\":\"00:00:00\",\"end_of_cut\":\"00:00:30\",\"reason\":\"\",\"start\":0,\"end\":0}],"
+ "\"ffmpegInstructions\":[]}");
return request;
private EditEmailParameters createEditEmailParameters() {
return EditEmailParameters.builder()
.toEmailAddress(FROM_EMAIL_ADDRESS)
.caseReference("123456")
.witnessName("First")
.defendantName("First Last")
.courtName("Court Name")
.editSummary("""
Edit 1:\s
Start time: 00:00:00
End time: 00:00:30
Time Removed: 00:00:00
Reason:\s""")
.editRequestStatus(EditRequestStatus.DRAFT)
.numberOfRequestedEditInstructions(1)
.jointlyAgreed(true)
.rejectionReason(null)
.build();
}

private void compareBody(String expected, EmailResponse emailResponse) {
Expand Down Expand Up @@ -276,10 +264,8 @@ void verifyEmail() {
@DisplayName("Should send editing jointly agreed email")
@SuppressWarnings("LineLength")
void editingJointlyAgreed() {
var user = createUser();
var forEditRequest = createEditRequest();
EmailResponse response = client.sendEmailAboutEditingRequest(createEditEmailParameters());

var response = client.editingJointlyAgreed(user.getEmail(), forEditRequest);
assertEquals(FROM_EMAIL_ADDRESS, response.getFromEmail());
assertEquals(
"[Do Not Reply] Pre-recorded Evidence: Edit request for case reference 123456",
Expand Down Expand Up @@ -310,10 +296,10 @@ Defendant name(s): First Last
@DisplayName("Should send editing not jointly agreed email")
@SuppressWarnings("LineLength")
void editingNotJointlyAgreed() {
var user = createUser();
var forEditRequest = createEditRequest();
EditEmailParameters editEmailParameters = createEditEmailParameters();
editEmailParameters.setJointlyAgreed(false);

var response = client.editingNotJointlyAgreed(user.getEmail(), forEditRequest);
var response = client.sendEmailAboutEditingRequest(editEmailParameters);
assertEquals(FROM_EMAIL_ADDRESS, response.getFromEmail());
assertEquals(
"[Do Not Reply] Pre-recorded Evidence: Edit request for case reference 123456 (NOT JOINTLY AGREED)",
Expand Down Expand Up @@ -344,12 +330,11 @@ Defendant name(s): First Last
@DisplayName("Should send editing rejection email")
@SuppressWarnings("LineLength")
void editingRejectionEmail() {
var user = createUser();
var forEditRequest = createEditRequest();
forEditRequest.setRejectionReason("REJECTION REASON");
forEditRequest.setJointlyAgreed(true);
EditEmailParameters editEmailParameters = createEditEmailParameters();
editEmailParameters.setRejectionReason("REJECTION REASON");
editEmailParameters.setJointlyAgreed(true);

var response = client.editingRejected(user.getEmail(), forEditRequest);
var response = client.sendEmailAboutEditingRequest(editEmailParameters);
assertEquals(FROM_EMAIL_ADDRESS, response.getFromEmail());
assertEquals(
"[Do Not Reply] Pre-recorded Evidence: Edit request REJECTION for case reference 123456",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@
import org.springframework.web.multipart.MultipartFile;
import uk.gov.hmcts.reform.preapi.controllers.base.PreApiController;
import uk.gov.hmcts.reform.preapi.controllers.params.SearchEditRequests;
import uk.gov.hmcts.reform.preapi.dto.CreateEditRequestDTO;
import uk.gov.hmcts.reform.preapi.dto.EditRequestDTO;
import uk.gov.hmcts.reform.preapi.dto.edit.EditRequestDTO;
import uk.gov.hmcts.reform.preapi.exception.BadRequestException;
import uk.gov.hmcts.reform.preapi.exception.PathPayloadMismatchException;
import uk.gov.hmcts.reform.preapi.exception.RequestedPageOutOfRangeException;
Expand Down Expand Up @@ -114,22 +113,22 @@ public HttpEntity<PagedModel<EntityModel<EditRequestDTO>>> searchEdits(

@PutMapping("/{id}")
@PreAuthorize("hasAnyRole('ROLE_SUPER_USER', 'ROLE_LEVEL_1', 'ROLE_LEVEL_3')")
public ResponseEntity<Void> upsertEditRequest(
public ResponseEntity<EditRequestDTO> upsertEditRequest(
@PathVariable("id") UUID id,
@Valid @RequestBody CreateEditRequestDTO createEditRequestDTO
@Valid @RequestBody EditRequestDTO createEditRequestDTO
) {
if (!id.equals(createEditRequestDTO.getId())) {
throw new PathPayloadMismatchException("editRequestId", "createEditRequestDTO.id");
}

return getUpsertResponse(editRequestService.upsert(createEditRequestDTO), id);
return ResponseEntity.ok(editRequestService.upsert(createEditRequestDTO));
}

@DeleteMapping("/{id}")
@PreAuthorize("hasAnyRole('ROLE_SUPER_USER', 'ROLE_LEVEL_1', 'ROLE_LEVEL_3')")
public ResponseEntity<Void> delete(
@PathVariable("id") UUID id,
@Valid @RequestBody CreateEditRequestDTO deleteEditRequestDTO
@Valid @RequestBody EditRequestDTO deleteEditRequestDTO
) {
if (!id.equals(deleteEditRequestDTO.getId())) {
throw new PathPayloadMismatchException("editRequestId", "deleteEditRequestDTO.id");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import uk.gov.hmcts.reform.preapi.batch.repositories.MigrationRecordRepository;
import uk.gov.hmcts.reform.preapi.controllers.params.TestingSupportRoles;
import uk.gov.hmcts.reform.preapi.dto.BookingDTO;
import uk.gov.hmcts.reform.preapi.dto.EditRequestDTO;
import uk.gov.hmcts.reform.preapi.dto.edit.EditRequestDTO;
import uk.gov.hmcts.reform.preapi.dto.RecordingDTO;
import uk.gov.hmcts.reform.preapi.dto.migration.VfMigrationRecordDTO;
import uk.gov.hmcts.reform.preapi.entities.AppAccess;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import uk.gov.hmcts.reform.preapi.dto.base.BaseRecordingDTO;
import uk.gov.hmcts.reform.preapi.entities.Recording;

import java.util.UUID;

Expand All @@ -24,19 +23,6 @@ public class CreateRecordingDTO extends BaseRecordingDTO {
@NotNull(message = "capture_session_id is required")
protected UUID captureSessionId;

public CreateRecordingDTO(Recording recording) {
super();
id = recording.getId();
captureSessionId = recording.getCaptureSession().getId();
if (recording.getParentRecording() != null) {
parentRecordingId = recording.getParentRecording().getId();
}
version = recording.getVersion();
filename = recording.getFilename();
duration = recording.getDuration();
editInstructions = recording.getEditInstruction();
}

public CreateRecordingDTO(RecordingDTO recordingDTO) {
super();
id = recordingDTO.getId();
Expand All @@ -45,6 +31,27 @@ public CreateRecordingDTO(RecordingDTO recordingDTO) {
version = recordingDTO.getVersion();
filename = recordingDTO.getFilename();
duration = recordingDTO.getDuration();
editRequest = recordingDTO.getEditRequest();
editStatus = recordingDTO.getEditStatus();
editInstructions = recordingDTO.getEditInstructions();
}

public CreateRecordingDTO(UUID newRecordingId,
String providedFileName,
Integer providedVersionNumber,
RecordingDTO recordingDTO) {
super();
id = newRecordingId;
version = providedVersionNumber;
filename = providedFileName;

parentRecordingId = recordingDTO.getParentRecordingId() == null
? recordingDTO.getId()
: recordingDTO.getParentRecordingId();
captureSessionId = recordingDTO.getCaptureSession().getId();
duration = recordingDTO.getDuration();
editRequest = recordingDTO.getEditRequest();
editStatus = recordingDTO.getEditStatus();
editInstructions = recordingDTO.getEditInstructions();
}
}

This file was deleted.

Loading