2017 © Pedro Peláez
 

behat-extension zf-behat

Interactive Solutions extension for Behat

image

interactive-solutions/zf-behat

Interactive Solutions extension for Behat

  • Monday, February 26, 2018
  • by mac_nibblet
  • Repository
  • 3 Watchers
  • 0 Stars
  • 1,636 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 3 Open issues
  • 41 Versions
  • 3 % Grown

The README.md

InteractiveSolutions/Zf-behat

Description

A set of predefined step definitions to handle the most common cases when testing a REST API through Zend Framework., (*1)

Setup

Add it to your behat.yml file as follows:, (*2)

default:
  extensions:
    InteractiveSolutions\ZfBehat:
      # configurable parameters

The available configurable parameters for this module are: - config_file - path to your autoload configuration file for your api (default config/application.config.php). - api_url - base url of your api (default http://localhost). - mailcatcher_url - the url to your mailcatcher server (default http://mailcatcher:1080)., (*3)

Enable the module InteractiveSolutions\ZfBehat in your autoload config file., (*4)

Available contexts

The module contains a bunch of different steps for various types of testing, all of which can be seen below., (*5)

Please see each individual context for further reference., (*6)

ApiContext

This context contains all step definitions for various api calls., (*7)

BernardContext

Context containing basic steps for testing an application using bernard to run background tasks., (*8)

DatabaseContext

Manages the Doctrine entity manager. Contains a single step that should be run as a background in each feature file (Given a clean database). This step drops and rebuilds the entire database, allowing a clean database before each scenario., (*9)

EntityFixtureContext

Contains various steps for setting up a scenario by creating entities., (*10)

MailcatcherContext

Manages mail testing using the specified mailcatcher_url. Useful for testing if activation emails (and similar) are sent., (*11)

ZfrOAuthContext

Contains steps needed for zfr-oauth authentication/authorization., (*12)

Configuring default parameters

Paste the interactive-solutions.zf-behat.global.php.dist into your config., (*13)

UserOptions are used to specify default parameters for users in the steps defined in the ZfrOAuthContext., (*14)

UserOptions::class => [
    //The user entity class to use
    'userEntityClass' => UserEntity::class,
    'defaultUserProperties' => [
        'firstName' => 'First',
        'lastName'  => 'Last',
        // password field is automatically bcrypted when entity is generated
        'password'  => '12345',
        'createdAt' => new DateTime(),
    ],
],

EntityOptions are used to specify default parameters for entities created and manages through the EntityFixtureContext and ApiContext., (*15)

EntityOptions::class => [
    // fill in the entity keys and their corresponding route/default values
    'entities' => [
        'match' => [
            // aliases are used to provide a better flow in your scenarios
            'aliases' => [
                'matches',
            ],
            'entity'  => MatchEntity::class,
            'route'  => 'matches'
            'defaultProperties' => [
                'type'        => 'SinglePlayer',
                'winner'      => 1,
                'winnerScore' => 1337,
                'finishedAt'  => new DateTime(),
            ]
        ]
    ]
]

Things to note with EntityOptions - route is automatically prefixed with /, so matches becomes /matches - aliases are used to create an alias for a configured entity - defaultProperties are also used as default parameters when sending api requests, (*16)

Using aliases in TableNodes or PyStringNode

    Given an existing "TYPE" created with static method "create" with alias "TYPE1"
    When I add a new "TYPE" with:
    """
      {
        "clinicId": "%Alias:FieldName%"
      }
    """

If Alias does exist, %Alias:FieldName% is replaced with the FieldName of the Alias entity, (*17)

You can also reference only the alias, if so, it will use the primary key of the entity., (*18)

License

Copyright (c) 2016 Interactive Solutions Bodama AB, (*19)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:, (*20)

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software., (*21)

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE., (*22)

The Versions

16/02 2018

dev-master

9999999-dev

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

16/02 2018

1.4.0

1.4.0.0

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

16/02 2018

dev-countable-check-type

dev-countable-check-type

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

16/01 2018

dev-develop

dev-develop

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

23/12 2017

1.3.3

1.3.3.0

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

23/12 2017

1.3.2

1.3.2.0

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

23/12 2017

1.3.1

1.3.1.0

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

17/05 2017

dev-refactor/api-client

dev-refactor/api-client

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

11/04 2017

dev-increased-bernard-support

dev-increased-bernard-support

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

07/04 2017

dev-hydration-using-closure

dev-hydration-using-closure

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

05/04 2017

dev-additional-functionality

dev-additional-functionality

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

03/02 2017

dev-feature/bernard-task-assertions

dev-feature/bernard-task-assertions

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

10/01 2017

dev-add-entities-to-aliases

dev-add-entities-to-aliases

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

28/12 2016

dev-feature/allow-arrays-alias

dev-feature/allow-arrays-alias

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

12/12 2016

dev-feature/use-aliases

dev-feature/use-aliases

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

26/10 2016

dev-feature/existing-with-static

dev-feature/existing-with-static

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires

09/09 2016

dev-feature/aliases

dev-feature/aliases

Interactive Solutions extension for Behat

  Sources   Download

The Requires

 

The Development Requires