Skip to content

Commit 0e9c96e

Browse files
author
Luke Steadman
committed
Added fixtures to aid testing
1 parent 1d4e2af commit 0e9c96e

8 files changed

+233
-3
lines changed

app/Fixtures/CardFixture.php

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
namespace Steadweb\Flypay\Fixtures;
4+
5+
use Doctrine\Common\Persistence\ObjectManager;
6+
use Doctrine\Common\DataFixtures\AbstractFixture;
7+
use Steadweb\Flypay\Entities\Card;
8+
9+
class CardFixture extends AbstractFixture
10+
{
11+
public function load(ObjectManager $manager)
12+
{
13+
$card = new Card();
14+
15+
$card->setLast4('6352');
16+
$card->setType('VISA');
17+
18+
$manager->persist($card);
19+
$manager->flush();
20+
21+
$this->addReference('card', $card);
22+
}
23+
}

app/Fixtures/ClientFixture.php

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace Steadweb\Flypay\Fixtures;
4+
5+
use Doctrine\Common\Persistence\ObjectManager;
6+
use Doctrine\Common\DataFixtures\FixtureInterface;
7+
use Steadweb\Flypay\Entities\Client;
8+
9+
class ClientFixture implements FixtureInterface
10+
{
11+
public function load(ObjectManager $manager)
12+
{
13+
$client = new Client();
14+
15+
$client->setDomain('https://flypay.steadweb.com');
16+
$client->setPublicKey('ZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKU1V6STFOaUo5LmV5SnBjM01pT2lKb2RIUndjenBjTDF3dlpteDVjR0Y1TG5OMFpXRmtkMlZpTG1OdmJTSXNJbUYxWkNJNkltaDBkSEJ6T2x3dlhDOW1iSGx3WVhrdWMzUmxZV1IzWldJdVkyOXRJbjAuSjZ5UnZlekhISndNLTlfbnlIZC0yUG1jUkRJQXRxbUpsSEtjZ0VFdVd4UDFBNi0tQTVLN2J2bTBLaHlfNTI3UWxDMy0wTnB1RWZldl95UnQyTUl4T1Znb1Nzbl9qRHQyTnkzd0RVTkZXZGFBV3dtZTZUZVRtNVRWdHN6VGNqMWhJMUpYb0ZmeGJrWTFrSXphZktRQ1pGTElLTmgwOEhvS2prMlBIclpWMko2azdQVVRuenhvWi1GdjZVcHNiYlY5X2U0WGJQYmpWdHJZMjMtT2xZZU04Z2xkUWlmMkVNYUZUWThTSUR1TjZPdEJWREpvR0ctLXJzSE9GZkkxbkdqekJEbkZBdmZMSml4R1pMUFRfREM0WWhSSy0tSDJrSkx3Y0xVT3p4S0I2M2I1Z1dISGRDZGRTV0FETGdRLW5PWnNBOEx5SFFjQ0pxWTdDMVF1bWhCaExR');
17+
18+
$manager->persist($client);
19+
$manager->flush();
20+
}
21+
}

app/Fixtures/LocationFixture.php

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace Steadweb\Flypay\Fixtures;
4+
5+
use Doctrine\Common\Persistence\ObjectManager;
6+
use Doctrine\Common\DataFixtures\AbstractFixture;
7+
use Steadweb\Flypay\Entities\Location;
8+
9+
class LocationFixture extends AbstractFixture
10+
{
11+
public function load(ObjectManager $manager)
12+
{
13+
$location = new Location();
14+
15+
$location->setTitle("Foo");
16+
$location->setAddress("Bar");
17+
$location->setLatitude("123");
18+
$location->setLatitude("456");
19+
20+
$manager->persist($location);
21+
$manager->flush();
22+
23+
$this->addReference('location', $location);
24+
}
25+
}

app/Fixtures/PaymentFixture.php

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace Steadweb\Flypay\Fixtures;
4+
5+
use Doctrine\Common\Persistence\ObjectManager;
6+
use Doctrine\Common\DataFixtures\AbstractFixture;
7+
use Steadweb\Flypay\Entities\Payment;
8+
9+
class PaymentFixture extends AbstractFixture
10+
{
11+
public function load(ObjectManager $manager)
12+
{
13+
$payment = new Payment();
14+
15+
$payment->setAmount(10000);
16+
$payment->setGratuity(1000);
17+
$payment->setReference("demo");
18+
19+
$payment->setCard($this->getReference('card'));
20+
$payment->setLocation($this->getReference('location'));
21+
$payment->getTables()->add($this->getReference('table'));
22+
23+
$manager->persist($payment);
24+
$manager->flush();
25+
26+
$this->addReference('payment', $payment);
27+
}
28+
}

app/Fixtures/TableFixture.php

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
namespace Steadweb\Flypay\Fixtures;
4+
5+
use Doctrine\Common\Persistence\ObjectManager;
6+
use Doctrine\Common\DataFixtures\AbstractFixture;
7+
use Steadweb\Flypay\Entities\Table;
8+
9+
class TableFixture extends AbstractFixture
10+
{
11+
public function load(ObjectManager $manager)
12+
{
13+
$table = new Table();
14+
15+
$table->setSeats(4);
16+
17+
$manager->persist($table);
18+
$manager->flush();
19+
20+
$this->addReference('table', $table);
21+
}
22+
}

composer.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
},
2626
"require-dev": {
2727
"phpunit/phpunit": "^5.7",
28-
"mockery/mockery": "^0.9.7"
28+
"mockery/mockery": "^0.9.7",
29+
"doctrine/data-fixtures": "^1.2"
2930
}
3031
}

composer.lock

+61-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

migrations/Version20170105174041.php

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?php
2+
3+
namespace Steadweb\Flypay\Migrations;
4+
5+
use Doctrine\Common\DataFixtures\Loader;
6+
use Doctrine\DBAL\Migrations\AbstractMigration;
7+
use Doctrine\DBAL\Schema\Schema;
8+
use Doctrine\Common\DataFixtures\Executor\ORMExecutor;
9+
use Doctrine\Common\DataFixtures\Purger\ORMPurger;
10+
use Steadweb\Flypay\Fixtures\CardFixture;
11+
use Steadweb\Flypay\Fixtures\ClientFixture;
12+
use Steadweb\Flypay\Fixtures\LocationFixture;
13+
use Steadweb\Flypay\Fixtures\PaymentFixture;
14+
use Steadweb\Flypay\Fixtures\TableFixture;
15+
16+
/**
17+
* Auto-generated Migration: Please modify to your needs!
18+
*/
19+
class Version20170105174041 extends AbstractMigration
20+
{
21+
/**
22+
* @param Schema $schema
23+
*/
24+
public function up(Schema $schema)
25+
{
26+
$config = \Doctrine\ORM\Tools\Setup::createAnnotationMetadataConfiguration(
27+
[__DIR__ . '/../app/Entities/'],
28+
true,
29+
null,
30+
null,
31+
false
32+
);
33+
$em = \Doctrine\ORM\EntityManager::create($this->connection, $config);
34+
35+
$loader = new Loader();
36+
$loader->addFixture(new ClientFixture());
37+
$loader->addFixture(new CardFixture());
38+
$loader->addFixture(new LocationFixture());
39+
$loader->addFixture(new TableFixture());
40+
$loader->addFixture(new PaymentFixture());
41+
42+
$purger = new ORMPurger();
43+
$executor = new ORMExecutor($em, $purger);
44+
$executor->execute($loader->getFixtures());
45+
}
46+
47+
/**
48+
* @param Schema $schema
49+
*/
50+
public function down(Schema $schema) {}
51+
}

0 commit comments

Comments
 (0)