diff --git a/src/main/java/org/broadinstitute/consent/http/models/dataset_registration_v1/builder/ConsentGroupFromDataset.java b/src/main/java/org/broadinstitute/consent/http/models/dataset_registration_v1/builder/ConsentGroupFromDataset.java index ee31660414..5b706dda2f 100644 --- a/src/main/java/org/broadinstitute/consent/http/models/dataset_registration_v1/builder/ConsentGroupFromDataset.java +++ b/src/main/java/org/broadinstitute/consent/http/models/dataset_registration_v1/builder/ConsentGroupFromDataset.java @@ -41,7 +41,7 @@ public ConsentGroup build(Dataset dataset) { consentGroup.setDiseaseSpecificUse(dataUse.getDiseaseRestrictions()); consentGroup.setPoa(dataUse.getPopulationOriginsAncestry()); consentGroup.setOtherPrimary(dataUse.getOther()); - consentGroup.setNmds(dataUse.getMethodsResearch()); + consentGroup.setNmds(Boolean.FALSE.equals(dataUse.getMethodsResearch()) ? true : null); consentGroup.setGso(dataUse.getGeneticStudiesOnly()); consentGroup.setPub(dataUse.getPublicationResults()); consentGroup.setCol(dataUse.getCollaboratorRequired()); diff --git a/src/main/java/org/broadinstitute/consent/http/rules/RuleImplementationInterface.java b/src/main/java/org/broadinstitute/consent/http/rules/RuleImplementationInterface.java index ebf749d2fb..70e98bada2 100644 --- a/src/main/java/org/broadinstitute/consent/http/rules/RuleImplementationInterface.java +++ b/src/main/java/org/broadinstitute/consent/http/rules/RuleImplementationInterface.java @@ -22,7 +22,7 @@ default boolean hasNoModifiers(DataUse data) { if (Boolean.TRUE.equals(data.getEthicsApprovalRequired())) { return false; } - if (Boolean.TRUE.equals(data.getMethodsResearch())) { + if (Boolean.FALSE.equals(data.getMethodsResearch())) { return false; } if (Boolean.TRUE.equals(data.getNonProfitUse())) { diff --git a/src/test/java/org/broadinstitute/consent/http/models/DatasetRegistrationSchemaV1BuilderTest.java b/src/test/java/org/broadinstitute/consent/http/models/DatasetRegistrationSchemaV1BuilderTest.java index 1a50d38682..199fcb855d 100644 --- a/src/test/java/org/broadinstitute/consent/http/models/DatasetRegistrationSchemaV1BuilderTest.java +++ b/src/test/java/org/broadinstitute/consent/http/models/DatasetRegistrationSchemaV1BuilderTest.java @@ -38,6 +38,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.ArrayList; import java.util.Date; @@ -172,14 +174,18 @@ void testBuildSchemaWithDataUse() { assertEquals(dataUse.getDiseaseRestrictions(), consentGroup.getDiseaseSpecificUse()); assertEquals(dataUse.getPopulationOriginsAncestry(), consentGroup.getPoa()); assertEquals(dataUse.getOther(), consentGroup.getOtherPrimary()); - assertEquals(dataUse.getMethodsResearch(), consentGroup.getNmds()); + if (Boolean.FALSE.equals(dataUse.getMethodsResearch())) { + assertTrue(consentGroup.getNmds()); + } else { + assertNull(consentGroup.getNmds()); + } assertEquals(dataUse.getGeneticStudiesOnly(), consentGroup.getGso()); assertEquals(dataUse.getPublicationResults(), consentGroup.getPub()); assertEquals(dataUse.getCollaboratorRequired(), consentGroup.getCol()); assertEquals(dataUse.getEthicsApprovalRequired(), consentGroup.getIrb()); assertEquals(dataUse.getGeographicalRestrictions(), consentGroup.getGs()); // ConsentGroup.morDate is a string value that is meant to represent a date - assertEquals(true, consentGroup.getMor()); + assertEquals(Boolean.TRUE, consentGroup.getMor()); assertEquals(dataUse.getPublicationMoratorium(), consentGroup.getMorDate()); assertEquals(dataUse.getNonProfitUse(), consentGroup.getNpu()); assertEquals(dataUse.getSecondaryOther(), consentGroup.getOtherSecondary()); diff --git a/src/test/java/org/broadinstitute/consent/http/rules/GeneralResearchUseV1Test.java b/src/test/java/org/broadinstitute/consent/http/rules/GeneralResearchUseV1Test.java index d57ecd27c9..a366dbfa4a 100644 --- a/src/test/java/org/broadinstitute/consent/http/rules/GeneralResearchUseV1Test.java +++ b/src/test/java/org/broadinstitute/consent/http/rules/GeneralResearchUseV1Test.java @@ -40,7 +40,7 @@ private static Stream testCompare() { new DataAccessRequestDataBuilder().setHmb(true), false), Arguments.of( - new DataUseBuilder().setGeneralUse(true).setMethodsResearch(true), + new DataUseBuilder().setGeneralUse(true).setMethodsResearch(false), new DataAccessRequestDataBuilder().setHmb(true), false), Arguments.of( diff --git a/src/test/java/org/broadinstitute/consent/http/rules/GeneralResearchUseWithDiseaseSpecificV1Test.java b/src/test/java/org/broadinstitute/consent/http/rules/GeneralResearchUseWithDiseaseSpecificV1Test.java index b789d850ae..9e0e92c660 100644 --- a/src/test/java/org/broadinstitute/consent/http/rules/GeneralResearchUseWithDiseaseSpecificV1Test.java +++ b/src/test/java/org/broadinstitute/consent/http/rules/GeneralResearchUseWithDiseaseSpecificV1Test.java @@ -49,7 +49,7 @@ private static Stream testCompare() { .setOntologies(List.of(new OntologyEntry())), false), Arguments.of( - new DataUseBuilder().setGeneralUse(true).setMethodsResearch(true), + new DataUseBuilder().setGeneralUse(true).setMethodsResearch(false), new DataAccessRequestDataBuilder() .setDiseases(true) .setOntologies(List.of(new OntologyEntry())), diff --git a/src/test/java/org/broadinstitute/consent/http/rules/HealthMedicalBioMedicalV1Test.java b/src/test/java/org/broadinstitute/consent/http/rules/HealthMedicalBioMedicalV1Test.java index 2b8885dc22..6ff00ab31d 100644 --- a/src/test/java/org/broadinstitute/consent/http/rules/HealthMedicalBioMedicalV1Test.java +++ b/src/test/java/org/broadinstitute/consent/http/rules/HealthMedicalBioMedicalV1Test.java @@ -40,7 +40,7 @@ private static Stream testCompare() { new DataAccessRequestDataBuilder().setHmb(true), false), Arguments.of( - new DataUseBuilder().setHmbResearch(true).setMethodsResearch(true), + new DataUseBuilder().setHmbResearch(true).setMethodsResearch(false), new DataAccessRequestDataBuilder().setHmb(true), false), Arguments.of( diff --git a/src/test/java/org/broadinstitute/consent/http/rules/HealthMedicalBioMedicalWithDiseaseSpecificV1Test.java b/src/test/java/org/broadinstitute/consent/http/rules/HealthMedicalBioMedicalWithDiseaseSpecificV1Test.java index 35cfdafdc9..5e4d4f229a 100644 --- a/src/test/java/org/broadinstitute/consent/http/rules/HealthMedicalBioMedicalWithDiseaseSpecificV1Test.java +++ b/src/test/java/org/broadinstitute/consent/http/rules/HealthMedicalBioMedicalWithDiseaseSpecificV1Test.java @@ -49,7 +49,7 @@ private static Stream testCompare() { .setOntologies(List.of(new OntologyEntry())), false), Arguments.of( - new DataUseBuilder().setHmbResearch(true).setMethodsResearch(true), + new DataUseBuilder().setHmbResearch(true).setMethodsResearch(false), new DataAccessRequestDataBuilder() .setDiseases(true) .setOntologies(List.of(new OntologyEntry())),