diff options
Diffstat (limited to 'spec/frontend/cycle_analytics/stage_table_spec.js')
-rw-r--r-- | spec/frontend/cycle_analytics/stage_table_spec.js | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/spec/frontend/cycle_analytics/stage_table_spec.js b/spec/frontend/cycle_analytics/stage_table_spec.js index 0d15d67866d..473e1d5b664 100644 --- a/spec/frontend/cycle_analytics/stage_table_spec.js +++ b/spec/frontend/cycle_analytics/stage_table_spec.js @@ -27,6 +27,7 @@ const findTableHeadColumns = () => findTableHead().findAll('th'); const findStageEventTitle = (ev) => extendedWrapper(ev).findByTestId('vsa-stage-event-title'); const findStageEventLink = (ev) => extendedWrapper(ev).findByTestId('vsa-stage-event-link'); const findStageTime = () => wrapper.findByTestId('vsa-stage-event-time'); +const findStageLastEvent = () => wrapper.findByTestId('vsa-stage-last-event'); const findIcon = (name) => wrapper.findByTestId(`${name}-icon`); function createComponent(props = {}, shallow = false) { @@ -128,6 +129,10 @@ describe('StageTable', () => { expect(findStageTime().text()).toBe(createdAt); }); + it('will render the end event', () => { + expect(findStageLastEvent().text()).toBe(firstIssueEvent.endEventTimestamp); + }); + it('will render the author', () => { expect(wrapper.findByTestId('vsa-stage-event-author').text()).toContain( firstIssueEvent.author.name, @@ -303,10 +308,20 @@ describe('StageTable', () => { wrapper.destroy(); }); - it('can sort the table by each column', () => { - findTableHeadColumns().wrappers.forEach((w) => { - expect(w.attributes('aria-sort')).toBe('none'); - }); + it('can sort the end event or duration', () => { + findTableHeadColumns() + .wrappers.slice(1) + .forEach((w) => { + expect(w.attributes('aria-sort')).toBe('none'); + }); + }); + + it('cannot be sorted by title', () => { + findTableHeadColumns() + .wrappers.slice(0, 1) + .forEach((w) => { + expect(w.attributes('aria-sort')).toBeUndefined(); + }); }); it('clicking a table column will send tracking information', () => { |