@@ -24,11 +24,37 @@ public function it_can_process_create_request()
2424
2525 $ data = $ response ->json ()['data ' ][0 ];
2626 $ this ->assertArrayHasKey ('id ' , $ data );
27+ $ this ->assertEquals (1 , $ data ['DT_RowId ' ]);
2728 $ this ->assertEquals (1 , $ data ['id ' ]);
2829 $ this ->assertEquals ('Taylor ' , $ data ['name ' ]);
2930 $ this ->assertEquals ('taylor@laravel.com ' , $ data ['email ' ]);
3031 }
3132
33+ #[Test]
34+ public function it_does_not_process_not_fillable_columns ()
35+ {
36+ $ response = $ this ->postJson ('users ' , [
37+ 'action ' => 'create ' ,
38+ 'data ' => [
39+ 0 => [
40+ 'name ' => 'Taylor ' ,
41+ 'email ' => 'taylor@laravel.com ' ,
42+ 'role ' => 'admin ' ,
43+ ],
44+ ],
45+ ]);
46+
47+ $ this ->assertDatabaseHas ('users ' , ['id ' => 1 ]);
48+
49+ $ data = $ response ->json ()['data ' ][0 ];
50+ $ this ->assertArrayHasKey ('id ' , $ data );
51+ $ this ->assertEquals (1 , $ data ['DT_RowId ' ]);
52+ $ this ->assertEquals (1 , $ data ['id ' ]);
53+ $ this ->assertEquals ('Taylor ' , $ data ['name ' ]);
54+ $ this ->assertEquals ('taylor@laravel.com ' , $ data ['email ' ]);
55+ $ this ->assertNotContains ('role ' , $ data );
56+ }
57+
3258 #[Test]
3359 public function it_allows_created_callback_and_returns_the_modified_model ()
3460 {
@@ -77,4 +103,29 @@ public function it_can_validate_invalid_inputs()
77103 $ this ->assertEquals ('name ' , $ errors [1 ]['name ' ]);
78104 $ this ->assertEquals ('The name field is required. ' , $ errors [1 ]['status ' ]);
79105 }
106+
107+ #[Test]
108+ public function it_can_set_the_model_to_unguarded_state (): void
109+ {
110+ $ response = $ this ->postJson ('users-unguarded ' , [
111+ 'action ' => 'create ' ,
112+ 'data ' => [
113+ 0 => [
114+ 'name ' => 'Taylor ' ,
115+ 'email ' => 'taylor@laravel.com ' ,
116+ 'role ' => 'admin ' ,
117+ ],
118+ ],
119+ ]);
120+
121+ $ this ->assertDatabaseHas ('users ' , ['id ' => 1 ]);
122+
123+ $ data = $ response ->json ()['data ' ][0 ];
124+ $ this ->assertArrayHasKey ('id ' , $ data );
125+ $ this ->assertEquals (1 , $ data ['DT_RowId ' ]);
126+ $ this ->assertEquals (1 , $ data ['id ' ]);
127+ $ this ->assertEquals ('Taylor ' , $ data ['name ' ]);
128+ $ this ->assertEquals ('taylor@laravel.com ' , $ data ['email ' ]);
129+ $ this ->assertEquals ('admin ' , $ data ['role ' ]);
130+ }
80131}
0 commit comments