import { datatype } from 'faker' import { CompetitionCompetitor, CompetitionHistory } from '../../../models/ranking' import { DecreaseOrdenator } from './decrease.ordenator' describe('DecreaseOrdenator', () => { describe('#sort', () => { const competitors: CompetitionCompetitor[] = [] const competitorGreaterScore = CompetitionCompetitor.toInstance({ is_subscriber: true, score: datatype.number({ min: 1 }), history: [CompetitionHistory.toInstance({ value: datatype.number({ min: 1 }) })], }) const competitorLessScore = CompetitionCompetitor.toInstance({ is_subscriber: true, score: datatype.number({ max: -1 }), history: [CompetitionHistory.toInstance({ value: datatype.number({ min: 1 }) })], }) const competitorGreaterValue = CompetitionCompetitor.toInstance({ is_subscriber: true, score: 0, history: [CompetitionHistory.toInstance({ value: datatype.number({ min: 11, max: 20 }) })], }) const competitorLessValue = CompetitionCompetitor.toInstance({ is_subscriber: true, score: 0, history: [CompetitionHistory.toInstance({ value: datatype.number({ min: 1, max: 10 }) })], }) beforeAll(() => { competitors.push(competitorLessValue) competitors.push(competitorGreaterValue) competitors.push(competitorLessScore) competitors.push(competitorGreaterScore) }) it('returns ordened levels', () => { expect(DecreaseOrdenator.sort(competitors)).toEqual([ competitorGreaterScore, competitorLessScore, competitorLessValue, competitorGreaterValue, ]) }) }) })