Persons are now stored as an entity rather than embeddable.
This commit is contained in:
parent
ceb6d08c4a
commit
af70415dd4
@ -21,6 +21,8 @@ class Controller {
|
|||||||
lateinit var tutorRepository: TutorRepository
|
lateinit var tutorRepository: TutorRepository
|
||||||
@Autowired
|
@Autowired
|
||||||
lateinit var observationRepository: ObservationRepository
|
lateinit var observationRepository: ObservationRepository
|
||||||
|
@Autowired
|
||||||
|
lateinit var personRepository: PersonRepository
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a list of all current sites.
|
* Returns a list of all current sites.
|
||||||
@ -100,7 +102,9 @@ class Controller {
|
|||||||
knowledge = overallScores[RatingCategory.KNOWLEDGE],
|
knowledge = overallScores[RatingCategory.KNOWLEDGE],
|
||||||
entries = newObservation.entries,
|
entries = newObservation.entries,
|
||||||
tutors = tutors,
|
tutors = tutors,
|
||||||
persons = newObservation.persons.asSequence().map { Person(it.toUpperCase()) }.toSet()
|
persons = newObservation.persons.asSequence().map {
|
||||||
|
personRepository.findByName(it.toUpperCase()) ?: personRepository.save(Person(name = it.toUpperCase()))
|
||||||
|
}.toSet()
|
||||||
)
|
)
|
||||||
observation = observationRepository.save(observation)
|
observation = observationRepository.save(observation)
|
||||||
tutors.forEach {
|
tutors.forEach {
|
||||||
|
@ -93,7 +93,7 @@ data class Observation(
|
|||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@ManyToMany(mappedBy = "observations")
|
@ManyToMany(mappedBy = "observations")
|
||||||
val tutors: Set<Tutor>,
|
val tutors: Set<Tutor>,
|
||||||
@ElementCollection
|
@ManyToMany
|
||||||
val persons: Set<Person>
|
val persons: Set<Person>
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -116,8 +116,11 @@ data class Entry(
|
|||||||
val improvements: String
|
val improvements: String
|
||||||
)
|
)
|
||||||
|
|
||||||
@Embeddable
|
@Entity
|
||||||
data class Person(
|
data class Person(
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
val id: Long = 0,
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
val name: String
|
val name: String
|
||||||
)
|
)
|
@ -1,7 +1,6 @@
|
|||||||
package uk.co.neviyn.observationdatabase
|
package uk.co.neviyn.observationdatabase
|
||||||
|
|
||||||
import org.joda.time.LocalDate
|
import org.joda.time.LocalDate
|
||||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor
|
|
||||||
import org.springframework.data.repository.CrudRepository
|
import org.springframework.data.repository.CrudRepository
|
||||||
import org.springframework.stereotype.Repository
|
import org.springframework.stereotype.Repository
|
||||||
|
|
||||||
@ -12,7 +11,7 @@ interface SiteRepository : CrudRepository<Site, Long>
|
|||||||
interface TutorRepository : CrudRepository<Tutor, Long>
|
interface TutorRepository : CrudRepository<Tutor, Long>
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
interface ObservationRepository : CrudRepository<Observation, Long>, JpaSpecificationExecutor<Observation> {
|
interface ObservationRepository : CrudRepository<Observation, Long> {
|
||||||
|
|
||||||
fun findBySiteAndDateBetween(site: Site, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
fun findBySiteAndDateBetween(site: Site, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
||||||
|
|
||||||
@ -21,4 +20,13 @@ interface ObservationRepository : CrudRepository<Observation, Long>, JpaSpecific
|
|||||||
fun findBySiteAndWhomAndDateBetween(site: Site, whom: String, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
fun findBySiteAndWhomAndDateBetween(site: Site, whom: String, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
||||||
|
|
||||||
fun findByTutorsAndWhomAndDateBetween(tutor: Tutor, whom: String, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
fun findByTutorsAndWhomAndDateBetween(tutor: Tutor, whom: String, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
||||||
|
|
||||||
|
fun findBySiteAndPersonsAndDateBetween(site: Site, person: Person, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
||||||
|
}
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
interface PersonRepository : CrudRepository<Person, Long> {
|
||||||
|
|
||||||
|
fun findByName(name: String): Person?
|
||||||
|
|
||||||
}
|
}
|
@ -19,6 +19,9 @@ class RepositoryTest {
|
|||||||
@Autowired
|
@Autowired
|
||||||
lateinit var observationRepository: ObservationRepository
|
lateinit var observationRepository: ObservationRepository
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
lateinit var personRepository: PersonRepository
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testFindBySiteAndDateBetween_EmptyRepository() {
|
fun testFindBySiteAndDateBetween_EmptyRepository() {
|
||||||
val result = observationRepository.findBySiteAndDateBetween(Site(1, "x"), LocalDate.now(), LocalDate.now())
|
val result = observationRepository.findBySiteAndDateBetween(Site(1, "x"), LocalDate.now(), LocalDate.now())
|
||||||
@ -46,25 +49,26 @@ class RepositoryTest {
|
|||||||
@Test
|
@Test
|
||||||
fun testFindBySiteAndDateBetween() {
|
fun testFindBySiteAndDateBetween() {
|
||||||
val correctSite = entityManager.persist(Site(name = "Correct"))
|
val correctSite = entityManager.persist(Site(name = "Correct"))
|
||||||
|
val person = entityManager.persist(Person(name = "Foo Bar"))
|
||||||
val incorrectSite = entityManager.persist(Site(name = "Incorrect"))
|
val incorrectSite = entityManager.persist(Site(name = "Incorrect"))
|
||||||
val tutor = entityManager.persist(Tutor(name = "X", site = correctSite))
|
val tutor = entityManager.persist(Tutor(name = "X", site = correctSite))
|
||||||
val tutor2 = entityManager.persist(Tutor(name = "N", site = incorrectSite))
|
val tutor2 = entityManager.persist(Tutor(name = "N", site = incorrectSite))
|
||||||
val tooEarly = Observation(site = correctSite, date = LocalDate.now().minusDays(5),
|
val tooEarly = Observation(site = correctSite, date = LocalDate.now().minusDays(5),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
||||||
val tooLate = Observation(site = correctSite, date = LocalDate.now().plusDays(5),
|
val tooLate = Observation(site = correctSite, date = LocalDate.now().plusDays(5),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
||||||
val wrongSite = Observation(site = incorrectSite, date = LocalDate.now(),
|
val wrongSite = Observation(site = incorrectSite, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor2), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor2), persons = setOf(person))
|
||||||
val justRight = Observation(site = correctSite, date = LocalDate.now(),
|
val justRight = Observation(site = correctSite, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
||||||
entityManager.persist(tooEarly)
|
entityManager.persist(tooEarly)
|
||||||
entityManager.persist(tooLate)
|
entityManager.persist(tooLate)
|
||||||
entityManager.persist(wrongSite)
|
entityManager.persist(wrongSite)
|
||||||
@ -78,28 +82,29 @@ class RepositoryTest {
|
|||||||
fun testFindBySiteAndWhomAndDateBetween() {
|
fun testFindBySiteAndWhomAndDateBetween() {
|
||||||
val correctSite = entityManager.persist(Site(name = "Correct"))
|
val correctSite = entityManager.persist(Site(name = "Correct"))
|
||||||
val incorrectSite = entityManager.persist(Site(name = "Incorrect"))
|
val incorrectSite = entityManager.persist(Site(name = "Incorrect"))
|
||||||
|
val person = entityManager.persist(Person(name = "Foo Bar"))
|
||||||
val tutor = entityManager.persist(Tutor(name = "X", site = correctSite))
|
val tutor = entityManager.persist(Tutor(name = "X", site = correctSite))
|
||||||
val tutor2 = entityManager.persist(Tutor(name = "N", site = incorrectSite))
|
val tutor2 = entityManager.persist(Tutor(name = "N", site = incorrectSite))
|
||||||
val tooEarly = Observation(site = correctSite, date = LocalDate.now().minusDays(5),
|
val tooEarly = Observation(site = correctSite, date = LocalDate.now().minusDays(5),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
||||||
val tooLate = Observation(site = correctSite, date = LocalDate.now().plusDays(5),
|
val tooLate = Observation(site = correctSite, date = LocalDate.now().plusDays(5),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
||||||
val wrongSite = Observation(site = incorrectSite, date = LocalDate.now(),
|
val wrongSite = Observation(site = incorrectSite, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor2), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor2), persons = setOf(person))
|
||||||
val justRight = Observation(site = correctSite, date = LocalDate.now(),
|
val justRight = Observation(site = correctSite, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
||||||
val wrongWhom = Observation(site = correctSite, date = LocalDate.now(),
|
val wrongWhom = Observation(site = correctSite, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G2", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G2", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
||||||
entityManager.persist(tooEarly)
|
entityManager.persist(tooEarly)
|
||||||
entityManager.persist(tooLate)
|
entityManager.persist(tooLate)
|
||||||
entityManager.persist(wrongSite)
|
entityManager.persist(wrongSite)
|
||||||
@ -113,28 +118,29 @@ class RepositoryTest {
|
|||||||
@Test
|
@Test
|
||||||
fun testFindByTutorsAndDateBetween() {
|
fun testFindByTutorsAndDateBetween() {
|
||||||
val site = entityManager.persist(Site(name = "Correct"))
|
val site = entityManager.persist(Site(name = "Correct"))
|
||||||
|
val person = entityManager.persist(Person(name = "Foo Bar"))
|
||||||
val correctTutor = entityManager.persist(Tutor(name = "X", site = site))
|
val correctTutor = entityManager.persist(Tutor(name = "X", site = site))
|
||||||
val incorrectTutor = entityManager.persist(Tutor(name = "N", site = site))
|
val incorrectTutor = entityManager.persist(Tutor(name = "N", site = site))
|
||||||
val tooEarly = Observation(site = site, date = LocalDate.now().minusDays(5),
|
val tooEarly = Observation(site = site, date = LocalDate.now().minusDays(5),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(person))
|
||||||
val tooLate = Observation(site = site, date = LocalDate.now().plusDays(5),
|
val tooLate = Observation(site = site, date = LocalDate.now().plusDays(5),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(person))
|
||||||
val wrongTutor = Observation(site = site, date = LocalDate.now(),
|
val wrongTutor = Observation(site = site, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(incorrectTutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(incorrectTutor), persons = setOf(person))
|
||||||
val justRight = Observation(site = site, date = LocalDate.now(),
|
val justRight = Observation(site = site, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(person))
|
||||||
val justRightMultipleTutors = Observation(site = site, date = LocalDate.now(),
|
val justRightMultipleTutors = Observation(site = site, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor, incorrectTutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor, incorrectTutor), persons = setOf(person))
|
||||||
entityManager.persist(tooEarly)
|
entityManager.persist(tooEarly)
|
||||||
entityManager.persist(tooLate)
|
entityManager.persist(tooLate)
|
||||||
entityManager.persist(wrongTutor)
|
entityManager.persist(wrongTutor)
|
||||||
@ -154,32 +160,33 @@ class RepositoryTest {
|
|||||||
@Test
|
@Test
|
||||||
fun testFindByTutorsAndWhomAndDateBetween() {
|
fun testFindByTutorsAndWhomAndDateBetween() {
|
||||||
val site = entityManager.persist(Site(name = "Correct"))
|
val site = entityManager.persist(Site(name = "Correct"))
|
||||||
|
val person = entityManager.persist(Person(name = "Foo Bar"))
|
||||||
val correctTutor = entityManager.persist(Tutor(name = "X", site = site))
|
val correctTutor = entityManager.persist(Tutor(name = "X", site = site))
|
||||||
val incorrectTutor = entityManager.persist(Tutor(name = "N", site = site))
|
val incorrectTutor = entityManager.persist(Tutor(name = "N", site = site))
|
||||||
val tooEarly = Observation(site = site, date = LocalDate.now().minusDays(5),
|
val tooEarly = Observation(site = site, date = LocalDate.now().minusDays(5),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(person))
|
||||||
val tooLate = Observation(site = site, date = LocalDate.now().plusDays(5),
|
val tooLate = Observation(site = site, date = LocalDate.now().plusDays(5),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(person))
|
||||||
val wrongTutor = Observation(site = site, date = LocalDate.now(),
|
val wrongTutor = Observation(site = site, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(incorrectTutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(incorrectTutor), persons = setOf(person))
|
||||||
val justRight = Observation(site = site, date = LocalDate.now(),
|
val justRight = Observation(site = site, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(person))
|
||||||
val wrongGroup = Observation(site = site, date = LocalDate.now(),
|
val wrongGroup = Observation(site = site, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G2", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G2", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor), persons = setOf(person))
|
||||||
val justRightMultipleTutors = Observation(site = site, date = LocalDate.now(),
|
val justRightMultipleTutors = Observation(site = site, date = LocalDate.now(),
|
||||||
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor, incorrectTutor), persons = setOf(Person("Foo Bar")))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(correctTutor, incorrectTutor), persons = setOf(person))
|
||||||
entityManager.persist(tooEarly)
|
entityManager.persist(tooEarly)
|
||||||
entityManager.persist(tooLate)
|
entityManager.persist(tooLate)
|
||||||
entityManager.persist(wrongTutor)
|
entityManager.persist(wrongTutor)
|
||||||
@ -197,4 +204,58 @@ class RepositoryTest {
|
|||||||
assertFalse(result.contains(wrongTutor))
|
assertFalse(result.contains(wrongTutor))
|
||||||
assertFalse(result.contains(wrongGroup))
|
assertFalse(result.contains(wrongGroup))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testFindBySiteAndPersonsAndDateBetween() {
|
||||||
|
val person = entityManager.persist(Person(name = "Foo Bar"))
|
||||||
|
val otherPerson = entityManager.persist(Person(name = "Wrong"))
|
||||||
|
val site = entityManager.persist(Site(name = "Incorrect"))
|
||||||
|
val tutor = entityManager.persist(Tutor(name = "X", site = site))
|
||||||
|
val tooEarly = Observation(site = site, date = LocalDate.now().minusDays(5),
|
||||||
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
||||||
|
val tooLate = Observation(site = site, date = LocalDate.now().plusDays(5),
|
||||||
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
||||||
|
val wrongPerson = Observation(site = site, date = LocalDate.now(),
|
||||||
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(otherPerson))
|
||||||
|
val justRight = Observation(site = site, date = LocalDate.now(),
|
||||||
|
type = TrainingType.INITIAL, observed = "1", whom = "G1", monitoring = 5.0, controlProcedural = 3.0,
|
||||||
|
control = 4.0, conservatism = 3.0, teamworkCommunications = 2.0, teamworkLeadership = 3.0,
|
||||||
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
||||||
|
entityManager.persist(tooEarly)
|
||||||
|
entityManager.persist(tooLate)
|
||||||
|
entityManager.persist(wrongPerson)
|
||||||
|
entityManager.persist(justRight)
|
||||||
|
val result = observationRepository.findBySiteAndPersonsAndDateBetween(site = site, person = person, startDate = LocalDate.now().minusDays(1), endDate = LocalDate.now().plusDays(1))
|
||||||
|
assertEquals(1, result.size)
|
||||||
|
assertEquals(justRight, result.first())
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testFindPersonByName() {
|
||||||
|
val person = entityManager.persist(Person(name = "Foo Bar"))
|
||||||
|
entityManager.persist(person)
|
||||||
|
val result = personRepository.findByName("Foo Bar")
|
||||||
|
assertEquals(person, result)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testFindPersonByName_IncorrectName() {
|
||||||
|
val person = entityManager.persist(Person(name = "Foo Bar"))
|
||||||
|
entityManager.persist(person)
|
||||||
|
val result = personRepository.findByName("Foo")
|
||||||
|
assertNotSame(person, result)
|
||||||
|
assertNull(result)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testFindPersonByName_NoPersons() {
|
||||||
|
val result = personRepository.findByName("Foo")
|
||||||
|
assertNull(result)
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user