maxAssert.test.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. import { describe, it, expect } from 'vitest'
  2. import { MaxAssert } from '~/services/asserts/MaxAssert'
  3. describe('MaxAssert', () => {
  4. it('supports retourne true uniquement pour "max"', () => {
  5. const maxAssert = new MaxAssert()
  6. expect(maxAssert.supports('max')).toBe(true)
  7. expect(maxAssert.supports('min')).toBe(false)
  8. expect(maxAssert.supports('other')).toBe(false)
  9. })
  10. describe('createRule', () => {
  11. it('retourne true si value est null', () => {
  12. const maxAssert = new MaxAssert()
  13. const rule = maxAssert.createRule(5)
  14. expect(rule(null as any)).toBe(true)
  15. })
  16. it('retourne true si value.length <= criteria', () => {
  17. const maxAssert = new MaxAssert()
  18. const rule = maxAssert.createRule(5)
  19. expect(rule('abc')).toBe(true) // longueur 3 <= 5
  20. expect(rule('12345')).toBe(true) // longueur 5 == 5
  21. })
  22. it('retourne un message si value.length > criteria', () => {
  23. const maxAssert = new MaxAssert()
  24. const rule = maxAssert.createRule(5)
  25. expect(rule('abcdef')).toBe('Maximum 5 caractères')
  26. })
  27. })
  28. })