diff options
Diffstat (limited to 'src/main')
4 files changed, 55 insertions, 3 deletions
diff --git a/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala b/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala index 6d2a068..b718c1f 100644 --- a/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala +++ b/src/main/scala/xyz/driver/pdsuicommon/utils/CustomSwaggerJsonFormats.scala @@ -7,6 +7,8 @@ import spray.json.JsValue import xyz.driver.pdsuicommon.domain.{LongId, StringId, TextJson, UuidId} import xyz.driver.pdsuidomain.entities._ import xyz.driver.pdsuidomain.formats.json.sprayformats.arm._ +import xyz.driver.pdsuidomain.formats.json.sprayformats.slotarm._ +import xyz.driver.pdsuidomain.formats.json.sprayformats.eligibilityarm._ import xyz.driver.pdsuidomain.formats.json.sprayformats.criterion._ import xyz.driver.pdsuidomain.formats.json.sprayformats.intervention._ import xyz.driver.pdsuidomain.formats.json.sprayformats.hypothesis._ @@ -54,7 +56,10 @@ object CustomSwaggerJsonFormats { classOf[Hypothesis] -> hypothesisFormat.write( xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextHypothesis()), classOf[StudyDesign] -> studyDesignFormat.write( - xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextStudyDesign()) + xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextStudyDesign()), + classOf[EligibilityArmWithDiseases] -> eligibilityArmWithDiseasesWriter.write( + xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextEligibilityArmWithDiseases()), + classOf[SlotArm] -> slotArmFormat.write(xyz.driver.pdsuidomain.fakes.entities.trialcuration.nextSlotArm()) ) // records-processing-service diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala index ade0115..d323e86 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala @@ -1,15 +1,20 @@ package xyz.driver.pdsuidomain.fakes.entities +import xyz.driver.core.generators._ import xyz.driver.entities.labels.{Label, LabelCategory} +import xyz.driver.entities.patient.CancerType import xyz.driver.pdsuicommon.domain.{LongId, User} import xyz.driver.pdsuidomain.entities._ import xyz.driver.pdsuidomain.services.CriterionService.RichCriterion object trialcuration { + import common._ import xyz.driver.core.generators import xyz.driver.pdsuidomain.entities.InterventionType._ + private val maxItemsInCollectionNumber: Int = 5 + def nextTrial(): Trial = Trial( id = nextStringId[Trial], externalId = nextUuidId[Trial], @@ -144,4 +149,46 @@ object trialcuration { SurgeryProcedure ) + EligibilityArmDisease + + def nextEligibilityArm(): EligibilityArm = EligibilityArm( + id = nextLongId, + name = nextString(), + originalName = nextString(), + trialId = nextStringId + ) + + def nextPatientCancerType(): CancerType = generators.oneOf[CancerType]( + CancerType.Lung, + CancerType.Breast, + CancerType.Prostate + ) + + def nextEligibilityArmDisease(): EligibilityArmDisease = EligibilityArmDisease( + eligibilityArmId = nextLongId, + disease = nextPatientCancerType() + ) + + private def nextEligibilityArmDiseaseCollection(count: Int): Seq[EligibilityArmDisease] = + Seq.fill(count)(nextEligibilityArmDisease()) + + def nextEligibilityArmWithDiseases(): EligibilityArmWithDiseases = { + val entity = nextEligibilityArm() + val id = entity.id + val collection = nextEligibilityArmDiseaseCollection( + nextInt(maxItemsInCollectionNumber, minValue = 0) + ).map(_.copy(eligibilityArmId = id)) + + EligibilityArmWithDiseases( + entity, + collection + ) + } + + def nextSlotArm(): SlotArm = SlotArm( + id = nextLongId, + name = nextString(), + originalName = nextString(), + trialId = nextStringId + ) } diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala index 47a46d1..dca107c 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/criterion.scala @@ -37,7 +37,7 @@ object criterion { .flatMap(_.convertTo[Option[String]]) .map { case "Yes" => true - case "No" => false + case "No" => false case other => deserializationError(s"Unknown `value` of CriterionLabel object: expected `yes` or `no`, but got $other") } diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala index f0d1a0a..bd68566 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/sprayformats/intervention.scala @@ -56,7 +56,7 @@ object intervention { val arms = fields .get("arms") .map(_.convertTo[List[LongId[SlotArm]]]) - .map(_ map(x => InterventionArm(armId = x, interventionId = LongId(0L)))) + .map(_ map (x => InterventionArm(armId = x, interventionId = LongId(0L)))) .getOrElse(List.empty[InterventionArm]) InterventionWithArms( |