Handle sorting with unsubmitted requests

This commit is contained in:
Patrick Smith 2018-11-29 12:19:16 -05:00
parent ebbdbfe1c7
commit 800fa94363
2 changed files with 18 additions and 2 deletions

View File

@ -55,5 +55,21 @@ describe('RequestsList', () => {
const requestNames = displayedRequests.map(req => req.name)
expect(requestNames).toEqual(['X Wing', 'TIE Fighter'])
})
it('handles sorting with un-submitted requests', () => {
const unsubmittedRequest = {
name: 'Death Star',
status: 'Started',
last_submission_timestamp: null
}
const wrapper = shallowMount(RequestsList, {
propsData: {
requests: [unsubmittedRequest, ...requests],
isExtended: true
}
})
const displayedRequests = wrapper.vm.filteredRequests
expect(displayedRequests).toEqual([requests[1], requests[0], unsubmittedRequest])
})
})
})

View File

@ -1,7 +1,7 @@
import LocalDatetime from '../components/local_datetime'
import { formatDollars } from '../lib/dollars'
import { parse } from 'date-fns'
import { compose, partial, indexBy, prop, sortBy, reverse, pipe } from 'ramda'
import { compose, partial, indexBy, prop, propOr, sortBy, reverse, pipe } from 'ramda'
export default {
name: 'requests-list',
@ -32,7 +32,7 @@ export default {
data: function () {
const defaultSort = (sort, requests) => sortBy(prop(sort.columnName), requests)
const dateSort = (sort, requests) => {
const parseDate = compose(partial(parse), prop(sort.columnName))
const parseDate = compose(partial(parse), propOr(sort.columnName, ''))
return sortBy(parseDate, requests)
}