Sort Order for tasks #110

Merged
konrad merged 62 commits from feature/sort-order into master 2019-12-07 14:30:52 +00:00

62 Commits

Author SHA1 Message Date
kolaente 61fddb0af1
Add integration test cases for invalid sort parameters
continuous-integration/drone/pr Build is passing Details
2019-12-07 15:11:38 +01:00
kolaente c35eaf6950
Add test for sorting with fixtures
continuous-integration/drone/pr Build is passing Details
2019-12-07 15:00:52 +01:00
kolaente 143e7f7f96
Add check to not add the id sort param last if it was already added 2019-12-07 15:00:38 +01:00
kolaente 23808d6fad
Fix tests
continuous-integration/drone/pr Build is passing Details
2019-12-07 14:49:29 +01:00
kolaente fd83f1a888
Always sort at least by ID to have results when items are the same
continuous-integration/drone/pr Build is failing Details
2019-12-07 14:24:29 +01:00
kolaente b8c2f0af2d
Cleanup
continuous-integration/drone/pr Build is failing Details
2019-12-05 22:25:14 +01:00
kolaente aed248c63f
Validate the sort params right before doing anything else with them 2019-12-05 22:25:05 +01:00
kolaente 938856dcb1
Move ID property to the top 2019-12-05 22:24:41 +01:00
kolaente 60195a16a5
Add error code docs
continuous-integration/drone/pr Build is failing Details
2019-12-05 22:19:08 +01:00
kolaente 1806a72351
Swagger docs for sorting
continuous-integration/drone/pr Build is failing Details
2019-12-05 22:16:45 +01:00
kolaente bf69ab664d
Make all test names lowercase
continuous-integration/drone/pr Build is failing Details
2019-12-05 22:07:52 +01:00
kolaente b5c63f2efd
Improve failing tests output
continuous-integration/drone/pr Build is failing Details
2019-12-05 22:06:49 +01:00
kolaente 702d065479
let two tasks have the same text
continuous-integration/drone/pr Build is failing Details
2019-12-05 22:02:29 +01:00
kolaente de17fbeeaa
Add more test cases
continuous-integration/drone/pr Build is failing Details
2019-12-05 21:32:14 +01:00
kolaente 03252b1af2
property order
continuous-integration/drone/pr Build is failing Details
2019-12-04 23:17:58 +01:00
kolaente 51b9d56ac5
Fix tests
continuous-integration/drone/pr Build was killed Details
2019-12-04 23:16:19 +01:00
kolaente e9687c921f
Add more test cases
continuous-integration/drone/pr Build was killed Details
2019-12-04 23:15:18 +01:00
kolaente b1c88a33a2
Fix order by text test
continuous-integration/drone/pr Build is failing Details
2019-12-04 23:00:24 +01:00
kolaente 3da710637d
Move assertions to seperate function
continuous-integration/drone/pr Build is failing Details
2019-12-04 22:54:34 +01:00
kolaente 44273c1b86
Merge remote-tracking branch 'origin/feature/sort-order' into feature/sort-order
continuous-integration/drone/pr Build is failing Details
2019-12-04 22:51:40 +01:00
kolaente 6dc275fa00
Change tests to write less 2019-12-04 22:51:37 +01:00
Simon Hilchenbach d0ff0ab43b
Fix taskComparator for bool values
continuous-integration/drone/pr Build is failing Details
It sorts the wrong way around. Switch the direction such that in ascending mode
the true values come before the false values (and in descending mode vice-versa).
2019-12-04 22:49:53 +01:00
Simon Hilchenbach 2fca034aad
Remove superfluous newline in test output
continuous-integration/drone/pr Build is failing Details
2019-12-04 22:45:29 +01:00
Simon Hilchenbach 09b277b021
Rewrite testing for task sorting
continuous-integration/drone/pr Build is failing Details
2019-12-04 22:38:57 +01:00
kolaente 9865c75527
Fix done test
continuous-integration/drone/pr Build is failing Details
2019-12-04 22:32:19 +01:00
kolaente 9b4d481b02
Fix description task 2019-12-04 22:32:10 +01:00
kolaente f85598efc3
Fix text task
continuous-integration/drone/pr Build is failing Details
2019-12-04 22:27:36 +01:00
kolaente 91349b45e2
Add list of desc sorted tasks
continuous-integration/drone/pr Build is failing Details
2019-12-04 22:25:43 +01:00
kolaente 5ec9297628
Add deepcopy to vendor
continuous-integration/drone/pr Build is failing Details
2019-12-04 21:41:11 +01:00
Simon Hilchenbach c704d3e162
Deepcopy reference slice in task sorting tests
continuous-integration/drone/pr Build is failing Details
2019-12-04 21:35:52 +01:00
kolaente 5240262b6b
Fix lint
continuous-integration/drone/pr Build is failing Details
2019-12-04 21:18:04 +01:00
Simon Hilchenbach ddd739f393
Replace handwritten taskComparators with automatically generated ones
continuous-integration/drone/pr Build is failing Details
Use reflection to automatically generate different taskComparators depending on the field type.
2019-12-04 21:06:17 +01:00
kolaente 83e72f8a75
Merge branch 'master' into feature/sort-order
continuous-integration/drone/pr Build is failing Details
# Conflicts:
#	pkg/models/task_readall_test.go
2019-12-04 20:54:02 +01:00
kolaente c274e98e51
Properly negate oldcomparator
continuous-integration/drone/pr Build is failing Details
2019-12-04 20:51:31 +01:00
kolaente b075dafe84
Sort test optimizations 2019-12-04 20:51:04 +01:00
kolaente ea9f9463f1
Add more test cases for sorting
continuous-integration/drone/pr Build is failing Details
2019-12-04 20:39:17 +01:00
kolaente c3bd9f43b3
Add function for easier sorting testing
continuous-integration/drone/pr Build is failing Details
2019-12-04 19:32:05 +01:00
Simon Hilchenbach e9f385f09a
Prefix task property name constants with "task"
continuous-integration/drone/pr Build is failing Details
The properties are available in the whole models package. Prefixing them with
"task" makes it clear that they are meant to be used on tasks only.
2019-12-04 19:24:13 +01:00
kolaente 387a85efb5
Fix sorting by ID asc by default
continuous-integration/drone/pr Build is failing Details
2019-12-04 19:22:39 +01:00
kolaente 9faa924406
Fix static check
continuous-integration/drone/pr Build is failing Details
2019-12-04 19:07:30 +01:00
kolaente 6f6ca71414
Fix validation test
continuous-integration/drone/pr Build is failing Details
2019-12-04 19:06:59 +01:00
kolaente d80fcf2a69
Move to individual task variables for task sorting
continuous-integration/drone/pr Build is failing Details
2019-12-04 19:03:31 +01:00
kolaente 415ad6bd77
Add unit tests for task collection sort
continuous-integration/drone/pr Build is failing Details
2019-12-04 18:45:53 +01:00
kolaente f7fb6edcd1
Use string instead of bool for order const
continuous-integration/drone/pr Build is failing Details
2019-12-04 18:41:09 +01:00
kolaente d3d581a0a7
Move task sorting to seperate file
continuous-integration/drone/pr Build is failing Details
2019-12-04 18:17:05 +01:00
kolaente 0adf561945
Make it build again
continuous-integration/drone/pr Build is failing Details
2019-12-04 18:13:21 +01:00
Simon Hilchenbach 51a0539732
Satisfy CI linter tool
continuous-integration/drone/pr Build is failing Details
2019-12-04 08:43:58 +01:00
Simon Hilchenbach 1115df5d51
Fix task sorting when using multiple properties
continuous-integration/drone/pr Build is failing Details
Let TaskComparator return an int instead of a bool for three-way comparison. Introduce
a combined TaskComparator that steps through each property comparator until it finds a
difference between two tasks.

This fixes the previous methodology where the sorting for the last property in the list
overwrote any other property-based sorting that happened before that.
2019-12-03 23:45:43 +01:00
kolaente 89cf1e5c46
Add todo
continuous-integration/drone/pr Build is failing Details
2019-12-03 23:19:30 +01:00
Simon Hilchenbach a9121e1ce1
Refactor task sorting to use consts instead of hardcorded strings
continuous-integration/drone/pr Build is failing Details
In order to avoid string copy-pasting and/or spelling/typing mistakes,
use global constants for sortable task properties instead. Also, make
order (ascending, descending) a typed bool instead of a string.
2019-12-03 23:15:25 +01:00
kolaente 7307eca0c3
Add panic for invalid comparator
continuous-integration/drone/pr Build is failing Details
2019-12-03 23:11:58 +01:00
kolaente 29b61d93fd
Add ID as sorting paramter 2019-12-03 23:11:37 +01:00
kolaente bf37cae1bf
Fix wrong sort cases
continuous-integration/drone/pr Build is failing Details
2019-12-03 22:53:58 +01:00
kolaente deb526bb40
Fix integration tests
continuous-integration/drone/pr Build is failing Details
2019-12-03 22:50:02 +01:00
Simon Hilchenbach a5690b0556
Replace big switch-case in sortTasks function with a map
continuous-integration/drone/pr Build is failing Details
2019-12-03 22:43:20 +01:00
kolaente eb9ecd51f2
Add more test cases
continuous-integration/drone/pr Build is failing Details
2019-12-03 22:36:41 +01:00
kolaente 8e3f5ced80
Add more tests for task sorting
continuous-integration/drone/pr Build is failing Details
2019-12-03 22:12:17 +01:00
kolaente 652b5da6f0
Move task collection tests to task collection test file
continuous-integration/drone/pr Build is failing Details
2019-12-03 22:03:19 +01:00
kolaente c30f9e15d7
Fix tests
continuous-integration/drone/pr Build is failing Details
2019-12-03 22:01:16 +01:00
kolaente 0e93ab8e89
Add test for validation of task sort order
continuous-integration/drone/pr Build is failing Details
2019-12-03 21:39:48 +01:00
kolaente 69e2358255
Add sort tasks after getting them
continuous-integration/drone/pr Build is failing Details
2019-12-03 21:22:35 +01:00
kolaente 725361741a
Start refactoring task sorting 2019-12-03 21:11:15 +01:00