@@ -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