punchcard-cms / shared-tests

Shared tests for Punchcard projects
Apache License 2.0
1 stars 2 forks source link

Fixtures for input plugins #23

Open scottnath opened 7 years ago

scottnath commented 7 years ago

need to create a fixture-creator for input plugins.

Feature: Input plugin fixturinator
  As a core developer
  I want to create raw input plugin fixtures
  So that I have fixtures to test against whose internals are randomly generated

  Scenario: Generate input
    Given that I need to generate input objects for each input plugin
      And that all plugins require at least one input
      And that some plugins require multiple inputs
     When I am create input plugin fixtures
     Then I should be able to generate inputs
      And each input should have a main key
      And each input should have an object as the value for the main key
      And each input key-object should have a label
      And each input key-object should have type
      And each input key-object should optionally have settings
      And each input key-object should optionally have scripts
      And each input key-object should have a validation object
      And the validation object should have an `on` property
      And the validation object's `on` property should default to `change`
      And the validation object should have a `function` property
      And the validation object's `function` property should have a value that is a validation function

  Scenario: Generate plugin
    Given that I need to test functionality for input plugins
      And that I need to test against multi and single input plugins
     When grabbing fixtures to test against
     Then I should get an input plugin object
      And it should have a name
      And it should have a description
      And it should have a validation object
      And the validation object should have a `validation` property
      And the validation object's `validation` property should have a value that is a validation function
      And it should have an html property
      And it should have an inputs property
      And it should have at least on input
      And the generator should accept options
      And the generator should optionally create multiple inputs.

Input plugin fixturinator