From 7bf2da3afbde1b4cec0d68cb4899e51a63e8a9b1 Mon Sep 17 00:00:00 2001 From: Kseniya Tomskikh Date: Mon, 28 Aug 2017 15:27:40 +0700 Subject: Created custom formats of TriC for swagger --- .../driver/pdsuidomain/fakes/entities/common.scala | 34 +++++ .../pdsuidomain/fakes/entities/trialcuration.scala | 137 +++++++++++++++++++++ 2 files changed, 171 insertions(+) create mode 100644 src/main/scala/xyz/driver/pdsuidomain/fakes/entities/common.scala create mode 100644 src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala (limited to 'src/main/scala/xyz/driver/pdsuidomain/fakes') diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/common.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/common.scala new file mode 100644 index 0000000..fbab2ce --- /dev/null +++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/common.scala @@ -0,0 +1,34 @@ +package xyz.driver.pdsuidomain.fakes.entities + +import java.time.{LocalDate, LocalDateTime, LocalTime} + +import xyz.driver.pdsuicommon.domain.{LongId, StringId, UuidId} +import xyz.driver.pdsuidomain.entities.{Trial, TrialHistory} + +object common { + import xyz.driver.core.generators + + def nextUuidId[T] = UuidId[T](generators.nextUuid()) + + def nextLongId[T] = LongId[T](generators.nextInt(Int.MaxValue).toLong) + + def nextStringId[T] = StringId[T](generators.nextString(maxLength = 20)) + + def nextTrialStatus = generators.oneOf[Trial.Status](Trial.Status.All) + + def nextPreviousTrialStatus = generators.oneOf[Trial.Status](Trial.Status.AllPrevious) + + def nextLocalDateTime = LocalDateTime.of(nextLocalDate, LocalTime.MIDNIGHT) + + def nextLocalDate = { + val date = generators.nextDate() + LocalDate.of(date.year, date.month, date.day) + } + + def nextCondition = generators.oneOf[Trial.Condition](Trial.Condition.All) + + def nextTrialAction = generators.oneOf[TrialHistory.Action](TrialHistory.Action.All) + + def nextTrialState = generators.oneOf[TrialHistory.State](TrialHistory.State.All) + +} diff --git a/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala new file mode 100644 index 0000000..caa6bca --- /dev/null +++ b/src/main/scala/xyz/driver/pdsuidomain/fakes/entities/trialcuration.scala @@ -0,0 +1,137 @@ +package xyz.driver.pdsuidomain.fakes.entities + +import xyz.driver.pdsuicommon.domain.{LongId, User} +import xyz.driver.pdsuidomain.entities._ +import xyz.driver.pdsuidomain.services.CriterionService.RichCriterion + +object trialcuration { + import xyz.driver.core.generators + import common._ + + def nextTrial(): Trial = Trial( + id = nextStringId[Trial], + externalId = nextUuidId[Trial], + status = nextTrialStatus, + assignee = Option(nextStringId[User]), + previousStatus = Option(nextPreviousTrialStatus), + previousAssignee = Option(nextStringId[User]), + lastActiveUserId = Option(nextStringId[User]), + lastUpdate = nextLocalDateTime, + condition = nextCondition, + phase = generators.nextString(), + hypothesisId = Option(nextUuidId[Hypothesis]), + studyDesignId = Option(nextLongId[StudyDesign]), + originalStudyDesign = Option(generators.nextString()), + isPartner = generators.nextBoolean(), + overview = Option(generators.nextString()), + overviewTemplate = generators.nextString(), + isUpdated = generators.nextBoolean(), + title = generators.nextString(), + originalTitle = generators.nextString() + ) + + def nextArm(): Arm = Arm( + id = nextLongId[Arm], + name = generators.nextString(), + originalName = generators.nextString(), + trialId = nextStringId[Trial], + deleted = Option(nextLocalDateTime) + ) + + def nextCriterion(): Criterion = Criterion( + id = nextLongId[Criterion], + trialId = nextStringId[Trial], + text = Option(generators.nextString()), + isCompound = generators.nextBoolean(), + meta = generators.nextString() + ) + + def nextCriterionLabel(criterionId: LongId[Criterion]): CriterionLabel = CriterionLabel( + id = nextLongId[CriterionLabel], + labelId = Option(nextLongId[Label]), + criterionId = criterionId, + categoryId = Option(nextLongId[Category]), + value = Option(generators.nextBoolean()), + isDefining = generators.nextBoolean() + ) + + def nextRichCriterion(): RichCriterion = { + val criterion = nextCriterion() + RichCriterion( + criterion = criterion, + armIds = Seq(nextLongId[Arm], nextLongId[Arm]), + labels = Seq( + nextCriterionLabel(criterion.id), + nextCriterionLabel(criterion.id) + ) + ) + } + + def nextIntervention(): Intervention = Intervention( + id = nextLongId[Intervention], + trialId = nextStringId[Trial], + name = generators.nextString(), + originalName = generators.nextString(), + typeId = Option(nextLongId[InterventionType]), + originalType = Option(generators.nextString()), + description = generators.nextString(), + originalDescription = generators.nextString(), + isActive = generators.nextBoolean() + ) + + def nextInterventionArm(interventionId: LongId[Intervention]): InterventionArm = InterventionArm( + interventionId = interventionId, + armId = nextLongId[Arm] + ) + + def nextInterventionWithArms(): InterventionWithArms = { + val intervention = nextIntervention() + InterventionWithArms( + intervention = intervention, + arms = List( + nextInterventionArm(intervention.id), + nextInterventionArm(intervention.id), + nextInterventionArm(intervention.id) + ) + ) + } + + def nextTrialIssue(): TrialIssue = TrialIssue( + id = nextLongId[TrialIssue], + userId = nextStringId[User], + trialId = nextStringId[Trial], + lastUpdate = nextLocalDateTime, + isDraft = generators.nextBoolean(), + text = generators.nextString(), + evidence = generators.nextString(), + archiveRequired = generators.nextBoolean(), + meta = generators.nextString() + ) + + def nextTrialHistory(): TrialHistory = TrialHistory( + id = nextLongId[TrialHistory], + executor = nextStringId[User], + trialId = nextStringId[Trial], + state = nextTrialState, + action = nextTrialAction, + created = nextLocalDateTime + ) + + def nextHypothesis(): Hypothesis = Hypothesis( + id = nextUuidId[Hypothesis], + name = generators.nextString(), + treatmentType = generators.nextString(), + description = generators.nextString() + ) + + def nextStudyDesign(): StudyDesign = StudyDesign( + id = nextLongId[StudyDesign], + name = generators.nextString() + ) + + def nextInterventionType(): InterventionType = InterventionType( + id = nextLongId[InterventionType], + name = generators.nextString() + ) + +} -- cgit v1.2.3