From ebbdbfe1c7a33c7cdc950107b3d7ed5f552cc6f9 Mon Sep 17 00:00:00 2001 From: Patrick Smith Date: Thu, 29 Nov 2018 11:27:51 -0500 Subject: [PATCH 1/2] Display "-" for last submission time for unsubmitted requests --- templates/requests/index.html | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/templates/requests/index.html b/templates/requests/index.html index c5257c7e..ce185a34 100644 --- a/templates/requests/index.html +++ b/templates/requests/index.html @@ -137,7 +137,14 @@ !{ r.name } Action Required - + + + + + {% if extended_view %} !{ r.full_name } From 800fa94363ebff1ba8102d321176608531912d94 Mon Sep 17 00:00:00 2001 From: Patrick Smith Date: Thu, 29 Nov 2018 12:19:16 -0500 Subject: [PATCH 2/2] Handle sorting with unsubmitted requests --- js/components/__tests__/requests_list.test.js | 16 ++++++++++++++++ js/components/requests_list.js | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/js/components/__tests__/requests_list.test.js b/js/components/__tests__/requests_list.test.js index e7d681bc..eec10004 100644 --- a/js/components/__tests__/requests_list.test.js +++ b/js/components/__tests__/requests_list.test.js @@ -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]) + }) }) }) diff --git a/js/components/requests_list.js b/js/components/requests_list.js index ec9f9282..735dcdd3 100644 --- a/js/components/requests_list.js +++ b/js/components/requests_list.js @@ -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) }