Skip to content
Snippets Groups Projects
utils.spec.ts 2.21 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { DateTime } from 'luxon'
    import { Season } from 'enum/ecogesture.enum'
    import { FluidType } from 'enum/fluid.enum'
    import { formatNumberValues, getFluidType, getSeason } from './utils'
    
    describe('utilis utilis test', () => {
      describe('getFluidType test', () => {
        it('should the electrity fluid type', () => {
          const result = getFluidType('eLectRicity')
          expect(result).toBe(FluidType.ELECTRICITY)
        })
    
        it('should the water fluid type', () => {
          const result = getFluidType('WatER')
          expect(result).toBe(FluidType.WATER)
        })
    
        it('should the gas fluid type', () => {
          const result = getFluidType('gas')
          expect(result).toBe(FluidType.GAS)
        })
      })
    
      describe('formatNumberValues test', () => {
        it('should return --,-- if there is not value', () => {
          const result = formatNumberValues(null)
          expect(result).toBe('--,--')
        })
    
        it('should return a value at english number format two digits decimal', () => {
          const result = formatNumberValues(2000.555)
          expect(result).toEqual('2 000,56')
        })
    
        it('should return a float value', () => {
          const result = formatNumberValues(2000.55, '', true)
          expect(result).toEqual(2000)
        })
      })
    
      describe('getSeason test', () => {
        it('should return summer', () => {
          const now = DateTime.local().setZone('utc', {
            keepLocalTime: true,
          })
          jest
            .spyOn(DateTime, 'local')
            .mockReturnValueOnce(now.set({ day: 12, month: 6, year: 2021 }))
          const result = getSeason()
          expect(result).toBe(Season.SUMMER)
        })
    
        it('should return winter', () => {
          const now = DateTime.local().setZone('utc', {
            keepLocalTime: true,
          })
          jest
            .spyOn(DateTime, 'local')
            .mockReturnValueOnce(now.set({ day: 1, month: 12, year: 2021 }))
          const result = getSeason()
          expect(result).toBe(Season.WINTER)
        })
    
        it('should return none', () => {
          const now = DateTime.local().setZone('utc', {
            keepLocalTime: true,
          })
          jest
            .spyOn(DateTime, 'local')
            .mockReturnValueOnce(now.set({ day: 1, month: 10, year: 2021 }))
          const result = getSeason()
          expect(result).toBe(Season.NONE)
        })
      })
    })