@@ -53,6 +53,7 @@ public function it_returns_models()
53
53
$ model = $ actual ['models ' ]['ModelOne ' ];
54
54
$ this ->assertEquals ('ModelOne ' , $ model ->name ());
55
55
$ this ->assertTrue ($ model ->usesTimestamps ());
56
+ $ this ->assertFalse ($ model ->usesSoftDeletes ());
56
57
57
58
$ columns = $ model ->columns ();
58
59
$ this ->assertCount (2 , $ columns );
@@ -66,6 +67,7 @@ public function it_returns_models()
66
67
$ model = $ actual ['models ' ]['ModelTwo ' ];
67
68
$ this ->assertEquals ('ModelTwo ' , $ model ->name ());
68
69
$ this ->assertTrue ($ model ->usesTimestamps ());
70
+ $ this ->assertFalse ($ model ->usesSoftDeletes ());
69
71
70
72
$ columns = $ model ->columns ();
71
73
$ this ->assertCount (2 , $ columns );
@@ -98,6 +100,7 @@ public function it_defaults_the_id_column()
98
100
$ model = $ actual ['models ' ]['Model ' ];
99
101
$ this ->assertEquals ('Model ' , $ model ->name ());
100
102
$ this ->assertTrue ($ model ->usesTimestamps ());
103
+ $ this ->assertFalse ($ model ->usesSoftDeletes ());
101
104
102
105
$ columns = $ model ->columns ();
103
106
$ this ->assertCount (2 , $ columns );
@@ -132,6 +135,7 @@ public function it_disables_timestamps()
132
135
$ model = $ actual ['models ' ]['Model ' ];
133
136
$ this ->assertEquals ('Model ' , $ model ->name ());
134
137
$ this ->assertFalse ($ model ->usesTimestamps ());
138
+ $ this ->assertFalse ($ model ->usesSoftDeletes ());
135
139
}
136
140
137
141
/**
@@ -155,6 +159,7 @@ public function it_defaults_to_string_datatype()
155
159
$ model = $ actual ['models ' ]['Model ' ];
156
160
$ this ->assertEquals ('Model ' , $ model ->name ());
157
161
$ this ->assertTrue ($ model ->usesTimestamps ());
162
+ $ this ->assertFalse ($ model ->usesSoftDeletes ());
158
163
159
164
$ columns = $ model ->columns ();
160
165
$ this ->assertCount (2 , $ columns );
@@ -191,6 +196,7 @@ public function it_accepts_lowercase_keywords()
191
196
$ model = $ actual ['models ' ]['Model ' ];
192
197
$ this ->assertEquals ('Model ' , $ model ->name ());
193
198
$ this ->assertTrue ($ model ->usesTimestamps ());
199
+ $ this ->assertFalse ($ model ->usesSoftDeletes ());
194
200
195
201
$ columns = $ model ->columns ();
196
202
$ this ->assertCount (4 , $ columns );
@@ -235,6 +241,7 @@ public function it_handles_data_type_attributes($definition, $data_type, $attrib
235
241
$ model = $ actual ['models ' ]['Model ' ];
236
242
$ this ->assertEquals ('Model ' , $ model ->name ());
237
243
$ this ->assertTrue ($ model ->usesTimestamps ());
244
+ $ this ->assertFalse ($ model ->usesSoftDeletes ());
238
245
239
246
$ columns = $ model ->columns ();
240
247
$ this ->assertCount (2 , $ columns );
@@ -269,6 +276,7 @@ public function it_handles_modifier_attributes($definition, $modifier, $attribut
269
276
$ model = $ actual ['models ' ]['Model ' ];
270
277
$ this ->assertEquals ('Model ' , $ model ->name ());
271
278
$ this ->assertTrue ($ model ->usesTimestamps ());
279
+ $ this ->assertFalse ($ model ->usesSoftDeletes ());
272
280
273
281
$ columns = $ model ->columns ();
274
282
$ this ->assertCount (2 , $ columns );
@@ -281,6 +289,36 @@ public function it_handles_modifier_attributes($definition, $modifier, $attribut
281
289
$ this ->assertEquals ([[$ modifier => $ attributes ], 'nullable ' ], $ columns ['column ' ]->modifiers ());
282
290
}
283
291
292
+ /**
293
+ * @test
294
+ */
295
+ public function it_enables_soft_deletes ()
296
+ {
297
+ $ tokens = [
298
+ 'models ' => [
299
+ 'Model ' => [
300
+ 'softdeletes ' => 'softdeletes '
301
+ ]
302
+ ],
303
+ ];
304
+
305
+ $ actual = $ this ->subject ->analyze ($ tokens );
306
+
307
+ $ this ->assertIsArray ($ actual ['models ' ]);
308
+ $ this ->assertCount (1 , $ actual ['models ' ]);
309
+
310
+ $ model = $ actual ['models ' ]['Model ' ];
311
+ $ this ->assertEquals ('Model ' , $ model ->name ());
312
+ $ this ->assertTrue ($ model ->usesTimestamps ());
313
+ $ this ->assertTrue ($ model ->usesSoftDeletes ());
314
+
315
+ $ columns = $ model ->columns ();
316
+ $ this ->assertCount (1 , $ columns );
317
+ $ this ->assertEquals ('id ' , $ columns ['id ' ]->name ());
318
+ $ this ->assertEquals ('id ' , $ columns ['id ' ]->dataType ());
319
+ $ this ->assertEquals ([], $ columns ['id ' ]->modifiers ());
320
+ }
321
+
284
322
public function dataTypeAttributesDataProvider ()
285
323
{
286
324
return [
0 commit comments