PHP 8.2.30
Preview: request-parser.spec.ts Size: 1.41 KB
/home/byroehnu/easepaybiz.easetack.com/node_modules/adminjs/src/backend/utils/request-parser/request-parser.spec.ts

import { expect } from 'chai'

import requestParser from './request-parser.js'
import { ActionRequest } from '../../actions/action.interface.js'
import BaseResource from '../../adapters/resource/base-resource.js'

const buildResourceWithProperty = (key, property) => {
  const resource = {
    _decorated: { getPropertyByKey: (path) => (key === path ? property : null) },
  } as unknown as BaseResource
  return resource
}

let resource

describe('RequestParser', function () {
  const baseRequest: ActionRequest = {
    params: { resourceId: 'resourceId', action: 'edit' },
    method: 'post',
    payload: {},
  }

  describe('boolean values', function () {
    beforeEach(function () {
      resource = buildResourceWithProperty('isHired', {
        type: () => 'boolean',
      })
    })

    it('sets value to `false` when empty string is given', function () {
      const request = { ...baseRequest, payload: { isHired: '' } }

      expect(requestParser(request, resource).payload?.isHired).to.be.false
    })

    it('changes "true" string to true', function () {
      const request = { ...baseRequest, payload: { isHired: 'true' } }

      expect(requestParser(request, resource).payload?.isHired).to.be.true
    })

    it('changes "false" string to true', function () {
      const request = { ...baseRequest, payload: { isHired: 'false' } }

      expect(requestParser(request, resource).payload?.isHired).to.be.false
    })
  })
})

Directory Contents

Dirs: 0 × Files: 4

Name Size Perms Modified Actions
127 B lr--r--r-- 2026-03-14 01:49:11
Edit Download
36 B lrw-r--r-- 2026-03-05 00:20:27
Edit Download
1.41 KB lrw-r--r-- 2026-03-05 00:20:28
Edit Download
1.89 KB lrw-r--r-- 2026-03-05 00:20:28
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).