| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import { describe, test, it, expect } from 'vitest'
- import ArrayUtils from '~/services/utils/arrayUtils'
- import DateUtils from '~/services/utils/dateUtils'
- describe('sort', () => {
- test('with integers', () => {
- expect(ArrayUtils.sort([2, 1, 3])).toEqual([1, 2, 3])
- expect(ArrayUtils.sort([2, 1, 3], true)).toEqual([3, 2, 1])
- })
- test('with string', () => {
- expect(ArrayUtils.sort(['b', 'a', 'c'])).toEqual(['a', 'b', 'c'])
- expect(ArrayUtils.sort(['b', 'a', 'c'], true)).toEqual(['c', 'b', 'a'])
- })
- test('with dates', () => {
- const input = [
- new Date(2023, 0, 12),
- new Date(2023, 0, 10),
- new Date(2023, 0, 11),
- ]
- const expected = [
- new Date(2023, 0, 10),
- new Date(2023, 0, 11),
- new Date(2023, 0, 12),
- ]
- const expectedReverse = [
- new Date(2023, 0, 12),
- new Date(2023, 0, 11),
- new Date(2023, 0, 10),
- ]
- expect(DateUtils.sort(input)).toEqual(expected)
- expect(DateUtils.sort(input, true)).toEqual(expectedReverse)
- })
- })
- describe('sortObjectsByProp', () => {
- test('existing prop', () => {
- const input = [
- { id: 2, name: 'b' },
- { id: 1, name: 'a' },
- { id: 3, name: 'c' },
- ]
- const expected = [
- { id: 1, name: 'a' },
- { id: 2, name: 'b' },
- { id: 3, name: 'c' },
- ]
- expect(ArrayUtils.sortObjectsByProp(input, 'id')).toEqual(expected)
- })
- test('existing prop (reverse)', () => {
- const input = [
- { id: 2, name: 'b' },
- { id: 1, name: 'a' },
- { id: 3, name: 'c' },
- ]
- const expected = [
- { id: 3, name: 'c' },
- { id: 2, name: 'b' },
- { id: 1, name: 'a' },
- ]
- expect(ArrayUtils.sortObjectsByProp(input, 'id', true)).toEqual(expected)
- })
- })
|