UNPKG

gaf-mobile

Version:

GAF mobile Web site

120 lines (99 loc) 2.92 kB
'use strict'; describe('Filter: milestoneOrderFilter', function() { var milestoneOrderFilter; beforeEach(module('gafMobileApp')); beforeEach(inject(function(_$filter_) { milestoneOrderFilter = _$filter_('milestoneOrderFilter'); })); it('should return blank order when given no milestones', function() { expect(milestoneOrderFilter([])).toEqual([]); }); describe('Place by timestamp as first priority', function() { it('should move earlier milestone created to the bottom', function() { var earlierTop = [{ time_created: 1 }, { time_created: 2 }]; expect(milestoneOrderFilter(earlierTop)) .toEqual(earlierTop.reverse()); }); it('should leave earlier milestone created on the bottom', function() { var earlierBottom = [{ time_created: 2 }, { time_created: 1 }]; expect(milestoneOrderFilter(earlierBottom)) .toEqual(earlierBottom); }); it('should move earlier milestone requested timestamp to bottom', function() { var earlierBottom = [{ time_created: 2, time_requested: 1 }, { time_created: 1, time_requested: 2 }]; expect(milestoneOrderFilter(earlierBottom)) .toEqual(earlierBottom.reverse()); }); it('should leave earlier milestone requested timestamp on bottom', function() { var earlierTop = [{ time_created: 1, time_requested: 2 }, { time_created: 2, time_requested: 1 }]; expect(milestoneOrderFilter(earlierTop)) .toEqual(earlierTop); }); }); describe('Place released milestones as last priority', function() { it('should move cleared to bottom', function() { var clearedTop = [{ status: 'released' }, { status: 'in progress' }]; expect(milestoneOrderFilter(clearedTop)) .toEqual(clearedTop.reverse()); }); it('should leave released on the bottom', function() { var clearedBottom = [{ status: 'requested' }, { status: 'released' }]; expect(milestoneOrderFilter(clearedBottom)) .toEqual(clearedBottom); }); }); describe('Place requested milestones as first priority', function() { it('should move requested on top', function() { var clearedTop = [{ status: 'requested', time_created: 1, }, { status: 'requested', time_requested: 2, }]; expect(milestoneOrderFilter(clearedTop)) .toEqual(clearedTop.reverse()); }); it('should leave requested on top', function() { var clearedTop = [{ status: 'requested', time_requested: 2, }, { status: 'requested', time_created: 1, }]; expect(milestoneOrderFilter(clearedTop)) .toEqual(clearedTop); }); }); });