Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit bbbb18e

Browse files
Add tests for model factory methods
1 parent 87f5042 commit bbbb18e

File tree

3 files changed

+76
-1
lines changed

3 files changed

+76
-1
lines changed

‎composer.json‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
"require-dev": {
1919
"phpunit/phpunit": "~4.0",
2020
"phpspec/phpspec": "~2.1",
21-
"codeception/codeception": "2.1.x-dev"
21+
"codeception/codeception": "2.1.x-dev",
22+
"fzaninotto/faker": "~1.4"
2223
},
2324
"autoload": {
2425
"classmap": [

‎database/factories/ModelFactory.php‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
/*
4+
|--------------------------------------------------------------------------
5+
| Model Factories
6+
|--------------------------------------------------------------------------
7+
|
8+
| Here you may define all of your model factories. Model factories give
9+
| you a convenient way to create models for testing and seeding your
10+
| database. Just tell the factory how a default model should look.
11+
|
12+
*/
13+
14+
$factory->define(App\User::class, function (Faker\Generator $faker) {
15+
return [
16+
'email' => $faker->email,
17+
'password' => bcrypt(str_random(10)),
18+
'remember_token' => str_random(10),
19+
];
20+
});
21+
22+
$factory->defineAs(App\User::class, 'admin', function (Faker\Generator $faker) {
23+
return [
24+
'email' => $faker->email,
25+
'password' => bcrypt(str_random(10)),
26+
'remember_token' => str_random(10),
27+
];
28+
});
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?php
2+
3+
use App\User;
4+
5+
class ModelFactoryCest
6+
{
7+
public function testHaveModel(FunctionalTester $I)
8+
{
9+
$user = $I->haveModel(User::class, ['email' => 'johndoe@example.com']);
10+
11+
$I->assertEquals('johndoe@example.com', $user->email);
12+
$I->seeRecord('users', ['email' => 'johndoe@example.com']);
13+
}
14+
15+
public function testHaveModelWithName(FunctionalTester $I)
16+
{
17+
$I->haveModel(User::class, [], 'admin');
18+
}
19+
20+
public function testHaveModelWithCount(FunctionalTester $I)
21+
{
22+
$users = $I->haveModel(User::class, [], 'admin', 3);
23+
24+
$I->assertEquals(3, count($users));
25+
}
26+
27+
public function testMakeModel(FunctionalTester $I)
28+
{
29+
$user = $I->makeModel(User::class, ['email' => 'johndoe@example.com']);
30+
31+
$I->assertEquals('johndoe@example.com', $user->email);
32+
$I->dontSeeRecord('users', ['email' => 'johndoe@example.com']);
33+
}
34+
35+
public function testMakeModelWithName(FunctionalTester $I)
36+
{
37+
$I->makeModel(User::class, [], 'admin');
38+
}
39+
40+
public function testMakeModelWithCount(FunctionalTester $I)
41+
{
42+
$users = $I->makeModel(User::class, [], 'admin', 3);
43+
44+
$I->assertEquals(3, count($users));
45+
}
46+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /