Commit 026968d9 authored by jakeburden's avatar jakeburden

Use it.each to test full range of sort parameters

parent 906eb9e2
...@@ -158,32 +158,27 @@ describe('Releases State actions', () => { ...@@ -158,32 +158,27 @@ describe('Releases State actions', () => {
}); });
}); });
describe('when the sort parameter is changed', () => { describe('when the sort parameters are provided', () => {
beforeEach(() => { it.each`
mockedState.sorting.sort = 'asc'; sort | orderBy | ReleaseSort
fetchReleasesGraphQl(vuexParams, { before: undefined, after: undefined }); ${'asc'} | ${'released_at'} | ${'RELEASED_AT_ASC'}
}); ${'desc'} | ${'released_at'} | ${'RELEASED_AT_DESC'}
${'asc'} | ${'created_at'} | ${'CREATED_ASC'}
it('makes a GraphQL query with sort variable for the requested direction', () => { ${'desc'} | ${'created_at'} | ${'CREATED_DESC'}
expect(gqClient.query).toHaveBeenCalledWith({ `(
query: allReleasesQuery, 'correctly sets $ReleaseSort based on $sort and $orderBy',
variables: { fullPath: projectPath, first: PAGE_SIZE, sort: 'RELEASED_AT_ASC' }, ({ sort, orderBy, ReleaseSort }) => {
}); mockedState.sorting.sort = sort;
}); mockedState.sorting.orderBy = orderBy;
});
describe('when the orderBy parameter is changed', () => {
beforeEach(() => {
mockedState.sorting.orderBy = 'created_at';
fetchReleasesGraphQl(vuexParams, { before: undefined, after: undefined }); fetchReleasesGraphQl(vuexParams, { before: undefined, after: undefined });
});
it('makes a GraphQl query with sort variable for the requested order', () => {
expect(gqClient.query).toHaveBeenCalledWith({ expect(gqClient.query).toHaveBeenCalledWith({
query: allReleasesQuery, query: allReleasesQuery,
variables: { fullPath: projectPath, first: PAGE_SIZE, sort: 'CREATED_DESC' }, variables: { fullPath: projectPath, first: PAGE_SIZE, sort: ReleaseSort },
});
}); });
},
);
}); });
}); });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment