Skip to content

Commit b47a94d

Browse files
committed
fix and add tests
1 parent 127aba8 commit b47a94d

File tree

1 file changed

+36
-5
lines changed

1 file changed

+36
-5
lines changed

tests/Unit/CrudPanel/CrudPanelCreateTest.php

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,12 @@ class CrudPanelCreateTest extends BaseDBCrudPanelTest
106106
],
107107
];
108108

109+
private $articleInputBelongsToRelationName = [
110+
[
111+
'name' => 'user',
112+
]
113+
];
114+
109115
public function testCreate()
110116
{
111117
$this->crudPanel->setModel(User::class);
@@ -124,26 +130,51 @@ public function testCreate()
124130
$this->assertEmpty($entry->articles);
125131
}
126132

127-
/**
128-
* @group failing
129-
*/
130133
public function testCreateWithOneToOneRelationship()
131134
{
132135
$this->crudPanel->setModel(User::class);
133136
$this->crudPanel->addFields($this->userInputFieldsNoRelationships);
134137
$this->crudPanel->addFields($this->userInputHasOneRelation);
135138
$faker = Factory::create();
139+
$account_details_nickname = $faker->name;
136140
$inputData = [
137141
'name' => $faker->name,
138142
'email' => $faker->safeEmail,
139143
'password' => bcrypt($faker->password()),
140144
'accountDetails' => [
141-
'nickname' => $faker->name,
145+
'nickname' => $account_details_nickname,
142146
'profile_picture' => 'test.jpg',
143147
],
144148
];
145149
$entry = $this->crudPanel->create($inputData);
146-
$this->markTestIncomplete('Has one relation is not created in tests.');
150+
$account_details = $entry->accountDetails()->first();
151+
152+
$this->assertEquals($account_details->nickname, $account_details_nickname);
153+
154+
}
155+
156+
public function testCreateBelongsToWithRelationName()
157+
{
158+
$this->crudPanel->setModel(Article::class);
159+
$this->crudPanel->addFields($this->articleInputFieldsOneToMany);
160+
$this->crudPanel->removeField('user_id');
161+
$this->crudPanel->addFields($this->articleInputBelongsToRelationName);
162+
$faker = Factory::create();
163+
$inputData = [
164+
'content' => $faker->text(),
165+
'tags' => $faker->words(3, true),
166+
'user' => 1,
167+
'metas' => null,
168+
'extras' => null,
169+
'cast_metas' => null,
170+
'cast_tags' => null,
171+
'cast_extras' => null,
172+
];
173+
$entry = $this->crudPanel->create($inputData);
174+
$userEntry = User::find(1);
175+
$article = Article::where('user_id', 1)->with('user')->get()->last();
176+
$this->assertEquals($article->user_id, $entry->user_id);
177+
$this->assertEquals($article->id, $entry->id);
147178
}
148179

149180
public function testCreateWithOneToManyRelationship()

0 commit comments

Comments
 (0)