Skip to content

Commit

Permalink
x1168 (RT#798250) Make work number compulsory in block registration
Browse files Browse the repository at this point in the history
  • Loading branch information
khelwood committed Feb 29, 2024
1 parent c4039e4 commit 1633917
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import java.util.*;
import java.util.function.Function;

import static java.util.stream.Collectors.toList;
import static uk.ac.sanger.sccp.utils.BasicUtils.*;

/**
Expand Down Expand Up @@ -237,7 +236,7 @@ public void validateHmdmcs() {
List<String> disabledHmdmcs = hmdmcMap.values().stream()
.filter(h -> h!=null && !h.isEnabled())
.map(Hmdmc::getHmdmc)
.collect(toList());
.toList();
if (!disabledHmdmcs.isEmpty()) {
addProblem(pluralise("HuMFre number{s} not enabled: ", disabledHmdmcs.size()) + disabledHmdmcs);
}
Expand Down Expand Up @@ -291,7 +290,7 @@ public void validateCollectionDates() {
public void validateExistingTissues() {
List<BlockRegisterRequest> blocksForExistingTissues = blocks().stream()
.filter(BlockRegisterRequest::isExistingTissue)
.collect(toList());
.toList();
if (blocksForExistingTissues.isEmpty()) {
return;
}
Expand Down Expand Up @@ -358,10 +357,11 @@ public void validateNewTissues() {
}

public void validateWorks() {
if (!request.getWorkNumbers().isEmpty()) {
works = workService.validateUsableWorks(problems, request.getWorkNumbers()).values();
} else {
if (request.getWorkNumbers().isEmpty()) {
addProblem("No work number supplied.");
works = List.of();
} else {
works = workService.validateUsableWorks(problems, request.getWorkNumbers()).values();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import uk.ac.sanger.sccp.stan.EntityCreator;
import uk.ac.sanger.sccp.stan.GraphQLTester;
import uk.ac.sanger.sccp.stan.model.User;
import uk.ac.sanger.sccp.stan.model.Work;

import javax.transaction.Transactional;

Expand All @@ -33,7 +34,8 @@ public class TestFindLatestOpQuery {
@Transactional
@Test
public void testFindLatestOp() throws Exception {
String mutation = tester.readGraphQL("register.graphql").replace("\"SGP1\"", "");
Work work = entityCreator.createWork(null, null, null, null, null);
String mutation = tester.readGraphQL("register.graphql").replace("SGP1", work.getWorkNumber());
User user = entityCreator.createUser("user1");
tester.setUser(user);
Object mutationResult = tester.post(mutation);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ public class TestHistoryQuery {
@Transactional
@Test
public void testHistory() throws Exception {
String mutation = tester.readGraphQL("register.graphql").replace("\"SGP1\"", "");
Work work = entityCreator.createWork(null, null, null, null, null);
String mutation = tester.readGraphQL("register.graphql").replace("SGP1", work.getWorkNumber());
User user = entityCreator.createUser("user1");
tester.setUser(user);

Expand All @@ -74,7 +75,7 @@ public void testHistory() throws Exception {
Map<String, ?> historyData = chainGet(response, "data", queryName);
List<Map<String,?>> entries = chainGetList(historyData, "entries");
assertThat(entries).hasSize(1);
Map<String,?> entry = entries.get(0);
Map<String,?> entry = entries.getFirst();
assertNotNull(entry.get("eventId"));
assertEquals("Register", entry.get("type"));
assertEquals(sampleId, entry.get("sampleId"));
Expand All @@ -86,14 +87,14 @@ public void testHistory() throws Exception {

List<Map<String,?>> labwareData = chainGetList(historyData, "labware");
assertThat(labwareData).hasSize(1);
lwData = labwareData.get(0);
lwData = labwareData.getFirst();
assertEquals(labwareId, lwData.get("id"));
assertEquals(barcode, lwData.get("barcode"));
assertEquals("active", lwData.get("state"));

List<Map<String,?>> samplesData = chainGetList(historyData, "samples");
assertThat(samplesData).hasSize(1);
Map<String,?> sampleData = samplesData.get(0);
Map<String,?> sampleData = samplesData.getFirst();
assertEquals(sampleId, sampleData.get("id"));
assertEquals("TISSUE1", chainGet(sampleData, "tissue", "externalName"));
assertEquals("Bone", chainGet(sampleData, "tissue", "spatialLocation", "tissueType", "name"));
Expand Down Expand Up @@ -131,14 +132,14 @@ public void testHistoryForWorkNumber() throws Exception {
List<Map<String, ?>> samplesData = historyData.get("samples");

assertThat(labwaresData).hasSize(1);
assertEquals(lw.getId(), labwaresData.get(0).get("id"));
assertEquals(lw.getBarcode(), labwaresData.get(0).get("barcode"));
assertEquals(lw.getId(), labwaresData.getFirst().get("id"));
assertEquals(lw.getBarcode(), labwaresData.getFirst().get("barcode"));

assertThat(samplesData).hasSize(1);
assertEquals(sample.getId(), samplesData.get(0).get("id"));
assertEquals(sample.getId(), samplesData.getFirst().get("id"));

assertThat(entriesData).hasSize(1);
Map<String, ?> entryData = entriesData.get(0);
Map<String, ?> entryData = entriesData.getFirst();
assertEquals(op.getId(), entryData.get("eventId"));
assertEquals(opType.getName(), entryData.get("type"));
assertEquals(work.getWorkNumber(), entryData.get("workNumber"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.*;
import static uk.ac.sanger.sccp.stan.EntityFactory.objToList;
import static uk.ac.sanger.sccp.stan.Matchers.assertProblem;

/**
* Tests for {@link RegisterValidationImp}
Expand Down Expand Up @@ -500,6 +501,7 @@ public void testValidateWorks(boolean anyWorks, boolean anyProblem) {
validation.validateWorks();
if (!anyWorks) {
verifyNoInteractions(mockWorkService);
assertProblem(validation.getProblems(), "No work number supplied.");
} else {
if (anyProblem) {
assertThat(validation.getProblems()).containsExactly("Bad work");
Expand Down

1 comment on commit 1633917

@sabrine33
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@khelwood , looks good to me

Please sign in to comment.