Queries are now ordered by date explicitly.
This commit is contained in:
parent
821102f69b
commit
e3a5dd7a46
@ -123,10 +123,10 @@ class Controller {
|
|||||||
if (observationsRequest.tutor != null) {
|
if (observationsRequest.tutor != null) {
|
||||||
return tutorRepository.findById(observationsRequest.tutor).map {
|
return tutorRepository.findById(observationsRequest.tutor).map {
|
||||||
when {
|
when {
|
||||||
(observationsRequest.whom == null || observationsRequest.whom.isEmpty()) -> observationRepository.findByTutorsAndDateBetween(tutor = it,
|
(observationsRequest.whom == null || observationsRequest.whom.isEmpty()) -> observationRepository.findByTutorsAndDateBetweenOrderByDateAsc(tutor = it,
|
||||||
startDate = observationsRequest.startDate,
|
startDate = observationsRequest.startDate,
|
||||||
endDate = observationsRequest.endDate)
|
endDate = observationsRequest.endDate)
|
||||||
else -> observationRepository.findByTutorsAndWhomIgnoreCaseAndDateBetween(tutor = it,
|
else -> observationRepository.findByTutorsAndWhomIgnoreCaseAndDateBetweenOrderByDateAsc(tutor = it,
|
||||||
whom = observationsRequest.whom,
|
whom = observationsRequest.whom,
|
||||||
startDate = observationsRequest.startDate,
|
startDate = observationsRequest.startDate,
|
||||||
endDate = observationsRequest.endDate)
|
endDate = observationsRequest.endDate)
|
||||||
@ -136,16 +136,16 @@ class Controller {
|
|||||||
val person = personRepository.findFirstByNameLike(observationsRequest.person.toUpperCase()) ?: return listOf()
|
val person = personRepository.findFirstByNameLike(observationsRequest.person.toUpperCase()) ?: return listOf()
|
||||||
val site = siteRepository.findById(observationsRequest.site).get()
|
val site = siteRepository.findById(observationsRequest.site).get()
|
||||||
return if (observationsRequest.whom == null || observationsRequest.whom.isEmpty())
|
return if (observationsRequest.whom == null || observationsRequest.whom.isEmpty())
|
||||||
observationRepository.findBySiteAndPersonsAndDateBetween(site, person, observationsRequest.startDate, observationsRequest.endDate)
|
observationRepository.findBySiteAndPersonsAndDateBetweenOrderByDateAsc(site, person, observationsRequest.startDate, observationsRequest.endDate)
|
||||||
else
|
else
|
||||||
observationRepository.findBySiteAndWhomIgnoreCaseAndPersonsAndDateBetween(site, observationsRequest.whom, person, observationsRequest.startDate, observationsRequest.endDate)
|
observationRepository.findBySiteAndWhomIgnoreCaseAndPersonsAndDateBetweenOrderByDateAsc(site, observationsRequest.whom, person, observationsRequest.startDate, observationsRequest.endDate)
|
||||||
} else if (observationsRequest.site != null) {
|
} else if (observationsRequest.site != null) {
|
||||||
return siteRepository.findById(observationsRequest.site).map {
|
return siteRepository.findById(observationsRequest.site).map {
|
||||||
when {
|
when {
|
||||||
(observationsRequest.whom == null || observationsRequest.whom.isEmpty()) -> observationRepository.findBySiteAndDateBetween(site = it,
|
(observationsRequest.whom == null || observationsRequest.whom.isEmpty()) -> observationRepository.findBySiteAndDateBetweenOrderByDateAsc(site = it,
|
||||||
startDate = observationsRequest.startDate,
|
startDate = observationsRequest.startDate,
|
||||||
endDate = observationsRequest.endDate)
|
endDate = observationsRequest.endDate)
|
||||||
else -> observationRepository.findBySiteAndWhomIgnoreCaseAndDateBetween(site = it,
|
else -> observationRepository.findBySiteAndWhomIgnoreCaseAndDateBetweenOrderByDateAsc(site = it,
|
||||||
whom = observationsRequest.whom,
|
whom = observationsRequest.whom,
|
||||||
startDate = observationsRequest.startDate,
|
startDate = observationsRequest.startDate,
|
||||||
endDate = observationsRequest.endDate)
|
endDate = observationsRequest.endDate)
|
||||||
|
@ -13,17 +13,17 @@ interface TutorRepository : CrudRepository<Tutor, Long>
|
|||||||
@Repository
|
@Repository
|
||||||
interface ObservationRepository : CrudRepository<Observation, Long> {
|
interface ObservationRepository : CrudRepository<Observation, Long> {
|
||||||
|
|
||||||
fun findBySiteAndDateBetween(site: Site, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
fun findBySiteAndDateBetweenOrderByDateAsc(site: Site, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
||||||
|
|
||||||
fun findByTutorsAndDateBetween(tutor: Tutor, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
fun findByTutorsAndDateBetweenOrderByDateAsc(tutor: Tutor, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
||||||
|
|
||||||
fun findBySiteAndWhomIgnoreCaseAndDateBetween(site: Site, whom: String, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
fun findBySiteAndWhomIgnoreCaseAndDateBetweenOrderByDateAsc(site: Site, whom: String, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
||||||
|
|
||||||
fun findByTutorsAndWhomIgnoreCaseAndDateBetween(tutor: Tutor, whom: String, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
fun findByTutorsAndWhomIgnoreCaseAndDateBetweenOrderByDateAsc(tutor: Tutor, whom: String, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
||||||
|
|
||||||
fun findBySiteAndPersonsAndDateBetween(site: Site, person: Person, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
fun findBySiteAndPersonsAndDateBetweenOrderByDateAsc(site: Site, person: Person, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
||||||
|
|
||||||
fun findBySiteAndWhomIgnoreCaseAndPersonsAndDateBetween(site: Site, whom: String, person: Person, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
fun findBySiteAndWhomIgnoreCaseAndPersonsAndDateBetweenOrderByDateAsc(site: Site, whom: String, person: Person, startDate: LocalDate, endDate: LocalDate): List<Observation>
|
||||||
}
|
}
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
|
@ -119,7 +119,7 @@ class ControllerTest {
|
|||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(), persons = setOf())
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(), persons = setOf())
|
||||||
doReturn(Optional.of(site)).`when`(siteRepository).findById(1)
|
doReturn(Optional.of(site)).`when`(siteRepository).findById(1)
|
||||||
doReturn(listOf(observation))
|
doReturn(listOf(observation))
|
||||||
.`when`(observationRepository).findBySiteAndDateBetween(site, LocalDate.now(), LocalDate.now())
|
.`when`(observationRepository).findBySiteAndDateBetweenOrderByDateAsc(site, LocalDate.now(), LocalDate.now())
|
||||||
val result = controller.getObservations(request)
|
val result = controller.getObservations(request)
|
||||||
assertEquals(1, result.size)
|
assertEquals(1, result.size)
|
||||||
assertEquals(observation, result[0])
|
assertEquals(observation, result[0])
|
||||||
@ -135,7 +135,7 @@ class ControllerTest {
|
|||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(), persons = setOf())
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(), persons = setOf())
|
||||||
doReturn(Optional.of(site)).`when`(siteRepository).findById(1)
|
doReturn(Optional.of(site)).`when`(siteRepository).findById(1)
|
||||||
doReturn(listOf(observation))
|
doReturn(listOf(observation))
|
||||||
.`when`(observationRepository).findBySiteAndWhomIgnoreCaseAndDateBetween(site, "Group A", LocalDate.now(), LocalDate.now())
|
.`when`(observationRepository).findBySiteAndWhomIgnoreCaseAndDateBetweenOrderByDateAsc(site, "Group A", LocalDate.now(), LocalDate.now())
|
||||||
val result = controller.getObservations(request)
|
val result = controller.getObservations(request)
|
||||||
assertEquals(1, result.size)
|
assertEquals(1, result.size)
|
||||||
assertEquals(observation, result[0])
|
assertEquals(observation, result[0])
|
||||||
@ -152,7 +152,7 @@ class ControllerTest {
|
|||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf())
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf())
|
||||||
doReturn(Optional.of(tutor)).`when`(tutorRepository).findById(1)
|
doReturn(Optional.of(tutor)).`when`(tutorRepository).findById(1)
|
||||||
doReturn(listOf(observation))
|
doReturn(listOf(observation))
|
||||||
.`when`(observationRepository).findByTutorsAndDateBetween(tutor, LocalDate.now(), LocalDate.now())
|
.`when`(observationRepository).findByTutorsAndDateBetweenOrderByDateAsc(tutor, LocalDate.now(), LocalDate.now())
|
||||||
val result = controller.getObservations(request)
|
val result = controller.getObservations(request)
|
||||||
assertEquals(1, result.size)
|
assertEquals(1, result.size)
|
||||||
assertEquals(observation, result[0])
|
assertEquals(observation, result[0])
|
||||||
@ -169,7 +169,7 @@ class ControllerTest {
|
|||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf())
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf())
|
||||||
doReturn(Optional.of(tutor)).`when`(tutorRepository).findById(1)
|
doReturn(Optional.of(tutor)).`when`(tutorRepository).findById(1)
|
||||||
doReturn(listOf(observation))
|
doReturn(listOf(observation))
|
||||||
.`when`(observationRepository).findByTutorsAndWhomIgnoreCaseAndDateBetween(tutor, "Group A", LocalDate.now(), LocalDate.now())
|
.`when`(observationRepository).findByTutorsAndWhomIgnoreCaseAndDateBetweenOrderByDateAsc(tutor, "Group A", LocalDate.now(), LocalDate.now())
|
||||||
val result = controller.getObservations(request)
|
val result = controller.getObservations(request)
|
||||||
assertEquals(1, result.size)
|
assertEquals(1, result.size)
|
||||||
assertEquals(observation, result[0])
|
assertEquals(observation, result[0])
|
||||||
@ -187,7 +187,7 @@ class ControllerTest {
|
|||||||
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
teamworkWorkload = 1.0, knowledge = 1.0, entries = listOf(), tutors = setOf(tutor), persons = setOf(person))
|
||||||
doReturn(Optional.of(site)).`when`(siteRepository).findById(1)
|
doReturn(Optional.of(site)).`when`(siteRepository).findById(1)
|
||||||
doReturn(person).`when`(personRepository).findFirstByNameLike("FOO BAR")
|
doReturn(person).`when`(personRepository).findFirstByNameLike("FOO BAR")
|
||||||
doReturn(listOf(observation)).`when`(observationRepository).findBySiteAndPersonsAndDateBetween(site, person, LocalDate.now(), LocalDate.now())
|
doReturn(listOf(observation)).`when`(observationRepository).findBySiteAndPersonsAndDateBetweenOrderByDateAsc(site, person, LocalDate.now(), LocalDate.now())
|
||||||
val result = controller.getObservations(request)
|
val result = controller.getObservations(request)
|
||||||
assertEquals(1, result.size)
|
assertEquals(1, result.size)
|
||||||
assertEquals(observation, result[0])
|
assertEquals(observation, result[0])
|
||||||
|
@ -24,7 +24,7 @@ class RepositoryTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testFindBySiteAndDateBetween_EmptyRepository() {
|
fun testFindBySiteAndDateBetween_EmptyRepository() {
|
||||||
val result = observationRepository.findBySiteAndDateBetween(Site(
|
val result = observationRepository.findBySiteAndDateBetweenOrderByDateAsc(Site(
|
||||||
id = 1,
|
id = 1,
|
||||||
name = "x"
|
name = "x"
|
||||||
), LocalDate.now(), LocalDate.now())
|
), LocalDate.now(), LocalDate.now())
|
||||||
@ -33,7 +33,7 @@ class RepositoryTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testFindBySiteAndWhomIgnoreCaseAndDateBetween_EmptyRepository() {
|
fun testFindBySiteAndWhomIgnoreCaseAndDateBetween_EmptyRepository() {
|
||||||
val result = observationRepository.findBySiteAndWhomIgnoreCaseAndDateBetween(Site(
|
val result = observationRepository.findBySiteAndWhomIgnoreCaseAndDateBetweenOrderByDateAsc(Site(
|
||||||
id = 1,
|
id = 1,
|
||||||
name = "x"
|
name = "x"
|
||||||
), "none", LocalDate.now(), LocalDate.now())
|
), "none", LocalDate.now(), LocalDate.now())
|
||||||
@ -42,7 +42,7 @@ class RepositoryTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testFindByTutorsAndDateBetween_EmptyRepository() {
|
fun testFindByTutorsAndDateBetween_EmptyRepository() {
|
||||||
val result = observationRepository.findByTutorsAndDateBetween(Tutor(
|
val result = observationRepository.findByTutorsAndDateBetweenOrderByDateAsc(Tutor(
|
||||||
id = 1,
|
id = 1,
|
||||||
name = "x",
|
name = "x",
|
||||||
site = Site(1, "x")
|
site = Site(1, "x")
|
||||||
@ -52,7 +52,7 @@ class RepositoryTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testFindByTutorsAndWhomIgnoreCaseAndDateBetween_EmptyRepository() {
|
fun testFindByTutorsAndWhomIgnoreCaseAndDateBetween_EmptyRepository() {
|
||||||
val result = observationRepository.findByTutorsAndWhomIgnoreCaseAndDateBetween(Tutor(
|
val result = observationRepository.findByTutorsAndWhomIgnoreCaseAndDateBetweenOrderByDateAsc(Tutor(
|
||||||
id = 1,
|
id = 1,
|
||||||
name = "x",
|
name = "x",
|
||||||
site = Site(1, "x")
|
site = Site(1, "x")
|
||||||
@ -143,7 +143,7 @@ class RepositoryTest {
|
|||||||
entityManager.persist(tooLate)
|
entityManager.persist(tooLate)
|
||||||
entityManager.persist(wrongSite)
|
entityManager.persist(wrongSite)
|
||||||
entityManager.persist(justRight)
|
entityManager.persist(justRight)
|
||||||
val result = observationRepository.findBySiteAndDateBetween(
|
val result = observationRepository.findBySiteAndDateBetweenOrderByDateAsc(
|
||||||
site = correctSite,
|
site = correctSite,
|
||||||
startDate = LocalDate.now().minusDays(1),
|
startDate = LocalDate.now().minusDays(1),
|
||||||
endDate = LocalDate.now().plusDays(1)
|
endDate = LocalDate.now().plusDays(1)
|
||||||
@ -254,7 +254,7 @@ class RepositoryTest {
|
|||||||
entityManager.persist(wrongSite)
|
entityManager.persist(wrongSite)
|
||||||
entityManager.persist(justRight)
|
entityManager.persist(justRight)
|
||||||
entityManager.persist(wrongWhom)
|
entityManager.persist(wrongWhom)
|
||||||
val result = observationRepository.findBySiteAndWhomIgnoreCaseAndDateBetween(
|
val result = observationRepository.findBySiteAndWhomIgnoreCaseAndDateBetweenOrderByDateAsc(
|
||||||
site = correctSite,
|
site = correctSite,
|
||||||
startDate = LocalDate.now().minusDays(1),
|
startDate = LocalDate.now().minusDays(1),
|
||||||
endDate = LocalDate.now().plusDays(1),
|
endDate = LocalDate.now().plusDays(1),
|
||||||
@ -369,7 +369,7 @@ class RepositoryTest {
|
|||||||
entityManager.persist(correctTutor)
|
entityManager.persist(correctTutor)
|
||||||
incorrectTutor.observations.addAll(listOf(wrongTutor, justRightMultipleTutors))
|
incorrectTutor.observations.addAll(listOf(wrongTutor, justRightMultipleTutors))
|
||||||
entityManager.persist(incorrectTutor)
|
entityManager.persist(incorrectTutor)
|
||||||
val result = observationRepository.findByTutorsAndDateBetween(
|
val result = observationRepository.findByTutorsAndDateBetweenOrderByDateAsc(
|
||||||
tutor = correctTutor,
|
tutor = correctTutor,
|
||||||
startDate = LocalDate.now().minusDays(1),
|
startDate = LocalDate.now().minusDays(1),
|
||||||
endDate = LocalDate.now().plusDays(1)
|
endDate = LocalDate.now().plusDays(1)
|
||||||
@ -504,7 +504,7 @@ class RepositoryTest {
|
|||||||
entityManager.persist(correctTutor)
|
entityManager.persist(correctTutor)
|
||||||
incorrectTutor.observations.addAll(listOf(wrongTutor, justRightMultipleTutors))
|
incorrectTutor.observations.addAll(listOf(wrongTutor, justRightMultipleTutors))
|
||||||
entityManager.persist(incorrectTutor)
|
entityManager.persist(incorrectTutor)
|
||||||
val result = observationRepository.findByTutorsAndWhomIgnoreCaseAndDateBetween(
|
val result = observationRepository.findByTutorsAndWhomIgnoreCaseAndDateBetweenOrderByDateAsc(
|
||||||
tutor = correctTutor,
|
tutor = correctTutor,
|
||||||
startDate = LocalDate.now().minusDays(1),
|
startDate = LocalDate.now().minusDays(1),
|
||||||
endDate = LocalDate.now().plusDays(1),
|
endDate = LocalDate.now().plusDays(1),
|
||||||
@ -599,7 +599,7 @@ class RepositoryTest {
|
|||||||
entityManager.persist(tooLate)
|
entityManager.persist(tooLate)
|
||||||
entityManager.persist(wrongPerson)
|
entityManager.persist(wrongPerson)
|
||||||
entityManager.persist(justRight)
|
entityManager.persist(justRight)
|
||||||
val result = observationRepository.findBySiteAndPersonsAndDateBetween(
|
val result = observationRepository.findBySiteAndPersonsAndDateBetweenOrderByDateAsc(
|
||||||
site = site,
|
site = site,
|
||||||
person = person,
|
person = person,
|
||||||
startDate = LocalDate.now().minusDays(1),
|
startDate = LocalDate.now().minusDays(1),
|
||||||
|
Loading…
Reference in New Issue
Block a user