|
- import * as fc from 'fast-check'
- import isEmpty from './isEmpty'
-
- describe('lib/services/isEmpty', () => {
- it('should exist', () => {
- expect(isEmpty).toBeDefined()
- })
-
- it('should be a function', () => {
- expect(isEmpty).toBeFunction()
- })
-
- it('should accept 1 argument', () => {
- expect(isEmpty).toHaveLength(1)
- })
-
- it('should return a boolean value', () => {
- fc.assert(
- fc.property(
- fc.anything(),
- v => {
- expect(typeof isEmpty(v)).toBe('boolean')
- }
- )
- )
- })
-
- describe('on arguments', () => {
- it('should return `true` on an argument with value of `undefined`', () => {
- expect(isEmpty(undefined)).toBe(true)
- })
-
- it('should return `true` on an argument with value of `null`', () => {
- expect(isEmpty(null)).toBe(true)
- })
-
- it('should return `false` on an argument with value that is neither `undefined` nor `null`', () => {
- fc.assert(
- fc.property(
- fc.anything().filter(v => typeof v !== 'undefined' && v !== null),
- v => {
- expect(isEmpty(v)).toBe(false)
- }
- )
- )
- })
- })
- })
|