Changeset 529


Ignore:
Timestamp:
May 10, 2010, 8:30:25 AM (14 years ago)
Author:
gav
Message:

Tweak CreateDataService to prevent issues during testing.
Repair getBudgetTasks() search.
Complete testGetBudgetTasks() test.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/services/CreateDataService.groovy

    r523 r529  
    845845                targetStartDate: dateUtilService.tomorrow,
    846846                targetCompletionDate: dateUtilService.tomorrow,
    847                 parentTask: Task.get(1)]
     847                parentTask: Task.list()[0]]
    848848
    849849        taskResult = taskService.save(p)
     
    858858                targetStartDate: dateUtilService.yesterday,
    859859                targetCompletionDate: dateUtilService.yesterday,
    860                 parentTask: Task.get(1)]
     860                parentTask: Task.list()[0]]
    861861
    862862        taskResult = taskService.save(p)
     
    871871                targetStartDate: dateUtilService.today,
    872872                targetCompletionDate: dateUtilService.oneWeekFromNow,
    873                 parentTask: Task.get(1)]
     873                parentTask: Task.list()[0]]
    874874
    875875        taskResult = taskService.save(p)
     
    927927
    928928        //Entry #1
    929         p = [task: Task.get(1),
     929        p = [task: Task.list()[0],
    930930                entryType: EntryType.get(1),
    931931                comment: "This level sensor is causing us trouble.",
     
    935935
    936936        //Entry #2
    937         p = [task: Task.get(1),
     937        p = [task: Task.list()[0],
    938938                entryType: EntryType.get(3),
    939939                comment: "Cleaned sensor, see how it goes.",
     
    943943
    944944        //Entry #3
    945         p = [task: Task.get(1),
     945        p = [task: Task.list()[0],
    946946                entryType: EntryType.get(3),
    947947                comment: "Checked up on it later and sensor is dropping out intermittently, created sub task to replace sensor.",
     
    958958        //AssignedGroup #1
    959959        p = [personGroup: PersonGroup.get(1),
    960                 task: Task.get(1),
     960                task: Task.list()[0],
    961961                estimatedHour: 2,
    962962                estimatedMinute: 30]
     
    965965        //AssignedGroup #2
    966966        p = [personGroup: PersonGroup.get(2),
    967                 task: Task.get(1),
     967                task: Task.list()[0],
    968968                estimatedHour: 1,
    969969                estimatedMinute: 0]
     
    978978        //AssignedPerson #1
    979979        p = [person: Person.get(4),
    980                 task: Task.get(1),
     980                task: Task.list()[0],
    981981                estimatedHour: 1,
    982982                estimatedMinute: 20]
     
    985985        //AssignedPerson #2
    986986        p = [person: Person.get(5),
    987                 task: Task.get(1),
     987                task: Task.list()[0],
    988988                estimatedHour: 3,
    989989                estimatedMinute: 30]
     
    997997
    998998        //TaskRecurringSchedule #1
    999         taskRecurringScheduleInstance = new TaskRecurringSchedule(task: Task.get(1),
     999        taskRecurringScheduleInstance = new TaskRecurringSchedule(task: Task.list()[0],
    10001000                                                                                                    recurEvery: 1,
    10011001                                                                                                    recurPeriod: Period.get(2),
     
    10081008
    10091009        //TaskRecurringSchedule #2
    1010         taskRecurringScheduleInstance = new TaskRecurringSchedule(task: Task.get(6),
     1010        taskRecurringScheduleInstance = new TaskRecurringSchedule(task: Task.list()[0],
    10111011                                                                                                    recurEvery: 1,
    10121012                                                                                                    recurPeriod: Period.get(1),
     
    12701270        taskProcedureInstance = new TaskProcedure(name: "Daily check")
    12711271        saveAndTest(taskProcedureInstance)
    1272         taskProcedureInstance.addToTasks(Task.get(1))
     1272        taskProcedureInstance.addToTasks(Task.list()[0])
    12731273    }
    12741274
  • trunk/grails-app/services/TaskSearchService.groovy

    r524 r529  
    251251    * @param endDate The end date to get tasks for, defaults to the start of tomorrow and is exclusive (less than).
    252252    */
    253     def getBudgetTasks(params, budgetStatus=null, startDate=null, endDate=null) {
     253    def getBudgetTasks(params, taskBudgetStatus=null, startDate=null, endDate=null) {
    254254        def paginateParams = [:]
    255255        paginateParams.max = Math.min(params?.max?.toInteger() ?: 10, paramsMax)
     
    261261
    262262        def namedParams = [:]
    263         namedParams.budgetStatus = budgetStatus ?: TaskBudgetStatus.read(2) // Planned.
     263        namedParams.taskBudgetStatus = taskBudgetStatus ?: TaskBudgetStatus.read(2) // Planned.
    264264        namedParams.startDate = startDate ?: dateUtilService.today
    265         namedParams.endDate = endDate ?: dateUtilService.oneWeekAgo
     265        namedParams.endDate = endDate ?: dateUtilService.tomorrow
    266266
    267267        def baseQuery = "from Task as task \
    268268                                        where (task.trash = false \
    269                                                     and task.budgetStatus = :budgetStatus \
     269                                                    and task.taskBudgetStatus = :taskBudgetStatus \
    270270                                                    and task.targetStartDate < :endDate \
    271271                                                    and task.targetCompletionDate >= :startDate \
  • trunk/test/integration/TaskSearchServiceTests.groovy

    r514 r529  
    121121    void testGetPersonsTasks() {
    122122
    123         def result
    124123        def p = [:]
     124        def params = [:]
    125125
    126126        // Todays tasks should be returned, since Person #1 is lead and created the tasks.
    127         def tasks = taskSearchService.getPersonsTasks([:])
     127        def tasks = taskSearchService.getPersonsTasks(params)
    128128        assert tasks.totalCount == taskCount
    129129
     
    131131        taskA.trash = true
    132132        taskA.save(flush:true)
    133         assert taskSearchService.getPersonsTasks([:]).totalCount == taskCount - 1
     133        assert taskSearchService.getPersonsTasks(params).totalCount == taskCount - 1
    134134        taskB.trash = true
    135135        taskB.save(flush:true)
    136         assert taskSearchService.getPersonsTasks([:]).totalCount == taskCount - 2
     136        assert taskSearchService.getPersonsTasks(params).totalCount == taskCount - 2
    137137
    138138        // Restored tasks should be returned.
    139139        taskA.trash = false
    140140        taskA.save(flush:true)
    141         assert taskSearchService.getPersonsTasks([:]).totalCount == taskCount - 1
     141        assert taskSearchService.getPersonsTasks(params).totalCount == taskCount - 1
    142142        taskB.trash = false
    143143        taskB.save(flush:true)
    144         assert taskSearchService.getPersonsTasks([:]).totalCount == taskCount
     144        assert taskSearchService.getPersonsTasks(params).totalCount == taskCount
    145145
    146146        // Tomorrows tasks should not be returned.
     
    148148        taskA.targetCompletionDate = dateUtilService.tomorrow
    149149        taskA.save(flush:true)
    150         assert taskSearchService.getPersonsTasks([:]).totalCount == taskCount - 1
     150        assert taskSearchService.getPersonsTasks(params).totalCount == taskCount - 1
    151151
    152152        // Tomorrows tasks should be returned, if we ask for them.
    153         assert taskSearchService.getPersonsTasks([:], null, dateUtilService.today, dateUtilService.tomorrow+1).totalCount == taskCount
     153        assert taskSearchService.getPersonsTasks(params, null, dateUtilService.today, dateUtilService.tomorrow+1).totalCount == taskCount
    154154
    155155        // Yesterdays tasks should not be returned.
     
    157157        taskA.targetCompletionDate = dateUtilService.yesterday
    158158        taskA.save(flush:true)
    159         assert taskSearchService.getPersonsTasks([:]).totalCount == taskCount - 1
     159        assert taskSearchService.getPersonsTasks(params).totalCount == taskCount - 1
    160160
    161161        // Yesterdays tasks should be returned, if we ask for them.
    162         assert taskSearchService.getPersonsTasks([:], null, dateUtilService.yesterday, dateUtilService.tomorrow).totalCount == taskCount
     162        assert taskSearchService.getPersonsTasks(params, null, dateUtilService.yesterday, dateUtilService.tomorrow).totalCount == taskCount
    163163
    164164        // Tasks that span today should be returned.
     
    166166        taskA.targetCompletionDate = dateUtilService.tomorrow
    167167        taskA.save(flush:true)
    168         assert taskSearchService.getPersonsTasks([:]).totalCount == taskCount
     168        assert taskSearchService.getPersonsTasks(params).totalCount == taskCount
    169169
    170170        // Tasks for a different person should not be returned.
    171171        taskA.leadPerson = Person.get(2)
    172172        taskA.save(flush:true)
    173         assert taskSearchService.getPersonsTasks([:]).totalCount == taskCount - 1
     173        assert taskSearchService.getPersonsTasks(params).totalCount == taskCount - 1
    174174
    175175        // Tasks for a specified leadPerson should be returned.
     
    177177        taskA.leadPerson = Person.get(2)
    178178        taskA.save(flush:true)
    179         assert taskSearchService.getPersonsTasks([:], Person.get(2)).totalCount == 0
     179        assert taskSearchService.getPersonsTasks(params, Person.get(2)).totalCount == 0
    180180        taskA.approved = true
    181181        taskA.save(flush:true)
    182         assert taskSearchService.getPersonsTasks([:], Person.get(2)).totalCount == 1
     182        assert taskSearchService.getPersonsTasks(params, Person.get(2)).totalCount == 1
    183183        // Moving the task to the trash, stops it being returned.
    184184        taskA.trash = true
    185185        taskA.save(flush:true)
    186         assert taskSearchService.getPersonsTasks([:], Person.get(2)).totalCount == 0
     186        assert taskSearchService.getPersonsTasks(params, Person.get(2)).totalCount == 0
    187187
    188188        // Tasks assigned to a person should be returned.
     
    193193                estimatedMinute: 20]
    194194        assert assignedPersonService.save(p).error == null
    195         assert taskSearchService.getPersonsTasks([:], Person.get(2)).totalCount == 0
     195        assert taskSearchService.getPersonsTasks(params, Person.get(2)).totalCount == 0
    196196        taskB.approved = true
    197197        taskB.save(flush:true)
    198         assert taskSearchService.getPersonsTasks([:], Person.get(2)).totalCount == 1
     198        assert taskSearchService.getPersonsTasks(params, Person.get(2)).totalCount == 1
    199199
    200200        // Tasks assigned to a person via a group should be returned.
     
    209209                estimatedMinute: 30]
    210210        assert assignedGroupService.save(p).error == null
    211         assert taskSearchService.getPersonsTasks([:], Person.get(2)).totalCount == 1 // Only taskB from above.
     211        assert taskSearchService.getPersonsTasks(params, Person.get(2)).totalCount == 1 // Only taskB from above.
    212212        taskA.approved = true
    213213        taskA.save(flush:true)
    214         assert taskSearchService.getPersonsTasks([:], Person.get(2)).totalCount == 2 // taskA and taskB.
     214        assert taskSearchService.getPersonsTasks(params, Person.get(2)).totalCount == 2 // taskA and taskB.
    215215
    216216    } // testGetTasks()
    217217
     218    void testGetBudgetTasks() {
     219
     220        def tasks
     221        def params = [:]
     222        def today = dateUtilService.today
     223        def yesterday = dateUtilService.yesterday
     224        def tomorrow = dateUtilService.tomorrow
     225        def unplanned = TaskBudgetStatus.read(1)
     226        def planned = TaskBudgetStatus.read(2)
     227
     228        assert planned != null
     229        assert unplanned != null
     230
     231        // Default is to return planned.
     232        // TaskA and taskB should be unplanned and therefore not returned.
     233        tasks = taskSearchService.getBudgetTasks(params)
     234        assert tasks.totalCount == 0
     235        tasks = taskSearchService.getBudgetTasks(params, planned)
     236        assert tasks.totalCount == 0
     237
     238        tasks = taskSearchService.getBudgetTasks(params, unplanned)
     239        assert tasks.totalCount == taskCount
     240        assert tasks.contains(taskA)
     241        assert tasks.contains(taskB)
     242
     243        // Planned tasks are returned.
     244        taskA.taskBudgetStatus = planned
     245        taskA.save(flush:true)
     246        tasks = taskSearchService.getBudgetTasks(params, planned)
     247        assert tasks.totalCount == 1
     248        assert tasks.contains(taskA)
     249
     250        // Tasks are returned when dates and budget status are specified.
     251        tasks = taskSearchService.getBudgetTasks(params, planned, today, tomorrow)
     252        assert tasks.totalCount == 1
     253        assert tasks.contains(taskA)
     254        tasks = taskSearchService.getBudgetTasks(params, unplanned, today, tomorrow)
     255        assert tasks.totalCount == 1
     256        assert tasks.contains(taskB)
     257
     258        // No tasks for yesterday
     259        tasks = taskSearchService.getBudgetTasks(params, null, yesterday, today)
     260        assert tasks.totalCount == 0
     261
     262        // Tasks that span today are returned.
     263        taskA.targetStartDate = yesterday
     264        taskA.targetCompletionDate = tomorrow+2
     265        taskA.save(flush:true)
     266        tasks = taskSearchService.getBudgetTasks(params, planned, today, tomorrow)
     267        assert tasks.totalCount == 1
     268        assert tasks.contains(taskA)
     269
     270    } // testGetBudgetTasks()
     271
    218272} // end class
Note: See TracChangeset for help on using the changeset viewer.