imasami/factory-gas

This package is abandoned and no longer maintained. The author suggests using the positrium/factory-gas package instead.

Simple lib like a FactoryGirl for FuelPHP.

2.1.0 2017-06-07 07:22 UTC

This package is not auto-updated.

Last update: 2022-02-01 13:08:59 UTC


README

Packagist

composer

"require-dev": {
	"positrium/factory-gas": "dev-master"
},

setup

copy vendor/positrium/factory-gas/tests/factories/foo_factory.php.dist to below. _factory.php is suffix.

app
 `--- tests
       `--- factories
             `--- brabra_success_factory.php
             `--- brabra_fail_factory.php

define factories to brabra_success_factory.php

<?php

use positrium\FactoryGas\FactoryGas;

// ---------------------------------------------------------------------------

FactoryGas::define('users', 'Controller_Users_Test_success', [
  'name' => 'Alan',
  'age' => 25
]);

define factories to brabra_fail_factory.php

<?php

use positrium\FactoryGas\FactoryGas;

// ---------------------------------------------------------------------------

FactoryGas::define('users', 'Controller_Users_Test_fail', [
  'name' => 'Bob',
  'age' => 12
]);

use

build

build to memory.

<?php

use positrium\FactoryGas\FactoryGas;

class Controller_Users_Test extends \PHPUnit_Framework_TestCase
{
  protected function setUp()
  {
    $model = FactoryGas::build('Controller_Users_Test_success');
    print_r($model);
    // Array
    // (
    //  [name] => 'Alan'
    //  [age] => 25
    // )
  }

create

create record to database.

<?php

use positrium\FactoryGas\FactoryGas;

class Controller_Users_Test extends \PHPUnit_Framework_TestCase
{
  protected function setUp()
  {
    $model = FactoryGas::create('Controller_Users_Test_success');
    print($model['id']);
    // 11
    FactoryGas::create('Controller_Users_Test_fail');
  }

truncate

<?php

use positrium\FactoryGas\FactoryGas;

class Controller_Users_Test extends \PHPUnit_Framework_TestCase
{
  protected function tearDown()
  {
    FactoryGas::truncate('Controller_Users_Test_success');
  }