@payloadcms/eslint-plugin
Version:
Payload plugin for ESLint
86 lines (82 loc) • 2.27 kB
JavaScript
import { RuleTester } from 'eslint'
import rule from '../customRules/proper-payload-logger-usage.js'
const ruleTester = new RuleTester()
// Example tests for the rule
ruleTester.run('no-improper-payload-logger-error', rule, {
valid: [
// Valid: payload.logger.error with object containing { msg, err }
{
code: "payload.logger.error({ msg: 'some message', err })",
},
// Valid: payload.logger.error with a single string
{
code: "payload.logger.error('Some error message')",
},
// Valid: payload.logger.error with a templated string
{
code: 'payload.logger.error(`Some error message`)',
},
// Valid: *.payload.logger.error with object
{
code: "this.payload.logger.error({ msg: 'another message', err })",
},
{
code: "args.req.payload.logger.error({ msg: 'different message', err })",
},
],
invalid: [
// Invalid: payload.logger.error with both string and error
{
code: "payload.logger.error('Some error message', err)",
errors: [
{
messageId: 'improperUsage',
},
],
},
// Invalid: payload.logger.error with both templated string and error
{
code: 'payload.logger.error(`Some error message`, err)',
errors: [
{
messageId: 'improperUsage',
},
],
},
// Invalid: *.payload.logger.error with both string and error
{
code: "this.payload.logger.error('Some error message', error)",
errors: [
{
messageId: 'improperUsage',
},
],
},
{
code: "args.req.payload.logger.error('Some error message', err)",
errors: [
{
messageId: 'improperUsage',
},
],
},
// Invalid: payload.logger.error with object containing 'message' key
{
code: "payload.logger.error({ message: 'not the right property name' })",
errors: [
{
messageId: 'wrongMessageField',
},
],
},
// Invalid: *.payload.logger.error with object containing 'error' key
{
code: "this.payload.logger.error({ msg: 'another message', error })",
errors: [
{
messageId: 'wrongErrorField',
},
],
},
],
})