Skip to content

Allows the generation of SilverStripe unit test fixtures from existing DataObjects either programatically created or from the database

Notifications You must be signed in to change notification settings

camspiers/silverstripe-fixturegenerator

Repository files navigation

SilverStripe Fixture Generator

Build Status against 2.2 and 3.0

Allows the generation of SilverStripe unit test fixtures from existing DataObjects either programatically created or from the database.

Creating fixtures files for unit tests is tedious at best, and this library's goal is to alleviate some of the pain.

Installation (with composer)

$ composer require camspiers/silverstripe-fixturegenerator:~0.1

Usage

Example with all relations allowed

use Camspiers\SilverStripe\FixtureGenerator;

$records = //some DataObjectSet

(new FixtureGenerator\Generator(
    new FixtureGenerator\Dumpers\Yaml(
        __DIR__ . '/tests/MyFixture.yml'
    )
))->process($records);

Example with certain relations allowed

use Camspiers\SilverStripe\FixtureGenerator;

$records = //some DataObjectSet

(new FixtureGenerator\Generator(
    new FixtureGenerator\Dumpers\Yaml(
        __DIR__ . '/tests/MyFixture.yml'
    ),
    array(
        'MyDataObject.SomeHasOneRelation',
        'MyDataObject.SomeHasManyRelation'
    )
))->process($records);

Example with certain relations excluded

use Camspiers\SilverStripe\FixtureGenerator;

$records = //some DataObjectSet

(new FixtureGenerator\Generator(
    new FixtureGenerator\Dumpers\Yaml(
        __DIR__ . '/tests/MyFixture.yml'
    ),
    array(
        'MyDataObject.SomeHasOneRelation',
        'MyDataObject.SomeHasManyRelation'
    ),
    FixtureGenerator\Generator::RELATION_MODE_EXCLUDE
))->process($records);

Unit testing

$ composer install --dev
$ phpunit

About

Allows the generation of SilverStripe unit test fixtures from existing DataObjects either programatically created or from the database

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages