Closed1

GatsbyのpluginOptionsSchema()をテストしたい

けのびけのび

https://www.npmjs.com/package/gatsby-plugin-utils

gatsby-plugin-utils というパッケージを用いるとお手軽にできそう。

import { testPluginOptionsSchema } from 'gatsby-plugin-utils'
import { pluginOptionsSchema } from './your-plugin-options-schema'

 describe('pluginOptionsSchema()', () => {
  test('passes on valid plugin-options', async () => {
    const pluginOptions = { sample: 'test', version: 1 }
    const report = await testPluginOptionsSchema(pluginOptionsSchema, pluginOptions)

    expect(report.errors).toEqual([])
    expect(report.isValid).toBe(true)
  })
  test('fails on missing plugin-options', async () => {
    const pluginOptions = { sample: 'test' }
    const report = await testPluginOptionsSchema(pluginOptionsSchema, pluginOptions)

    expect(report.errors).toEqual(['"version" is required'])
    expect(report.isValid).toBe(false)
  })
})

いいですね!

このスクラップは2024/02/29にクローズされました