@@ -25,16 +25,7 @@ public function setUp()
25
25
*/
26
26
public function it_gets_image_field_options ()
27
27
{
28
- $ user = new class () extends User {
29
- use HasImageUploads;
30
-
31
- protected static $ imageFields = ['avatar ' => [
32
- 'width ' => 200 ,
33
- 'height ' => 200 ,
34
- 'crop ' => true ,
35
- 'folder ' => 'avatar '
36
- ]];
37
- };
28
+ $ user = new ImageFieldOptionsModel ();
38
29
39
30
$ this ->assertArraySubset ([
40
31
'width ' => 200 ,
@@ -211,13 +202,11 @@ public function it_uploads_image_by_field_name()
211
202
*/
212
203
public function it_gives_image_url_if_image_saved_in_db ()
213
204
{
214
- $ user = new class extends User {
215
- use HasImageUploads;
205
+ $ user = new User ();
206
+ $ user ->setImagesField ([
207
+ 'avatar ' => ['placeholder ' => '/images/cover-placeholder.png ' ]
208
+ ]);
216
209
217
- public static $ imageFields = [
218
- 'avatar ' => ['placeholder ' => '/images/cover-placeholder.png ' ]
219
- ];
220
- };
221
210
$ user ->forceFill ([
222
211
'name ' => 'John ' ,
223
212
@@ -238,13 +227,11 @@ public function it_gives_image_url_if_image_saved_in_db()
238
227
*/
239
228
public function it_gives_placeholder_image_url_if_file_has_no_image_and_placeholder_option_is_defined ()
240
229
{
241
- $ user = new class extends User {
242
- use HasImageUploads;
230
+ $ user = new User ();
231
+ $ user ->setImagesField ([
232
+ 'cover ' => ['placeholder ' => '/images/cover-placeholder.png ' ]
233
+ ]);
243
234
244
- public static $ imageFields = [
245
- 'cover ' => ['placeholder ' => '/images/cover-placeholder.png ' ]
246
- ];
247
- };
248
235
$ user ->forceFill ([
249
236
'name ' => 'John ' ,
250
237
@@ -264,15 +251,12 @@ public function it_gives_placeholder_image_url_if_file_has_no_image_and_placehol
264
251
*/
265
252
public function it_validate_the_uploaded_file_using_provided_rules ()
266
253
{
267
- $ user = new class extends User {
268
- use HasImageUploads;
269
-
270
- public static $ imageFields = [
271
- 'avatar ' => [
272
- 'rules ' => 'required|image '
273
- ]
274
- ];
275
- };
254
+ $ user = new User ();
255
+ $ user ->setImagesField ([
256
+ 'avatar ' => [
257
+ 'rules ' => 'required|image '
258
+ ]
259
+ ]);
276
260
277
261
Storage::fake ('public ' );
278
262
$ doc = UploadedFile::fake ()->create ('document.pdf ' );
@@ -687,18 +671,8 @@ public function it_triggers_after_save_hook_from_a_callback()
687
671
*/
688
672
public function it_gives_correct_value_when_model_has_mutator_method ()
689
673
{
690
- $ user = new class extends User {
691
- use HasImageUploads;
692
-
693
- public static $ imageFields = [
694
- 'avatar '
695
- ];
674
+ $ user = new ModelWithMutator ();
696
675
697
- public function getAvatarAttribute ($ value )
698
- {
699
- return $ this ->imageUrl ('avatar ' );
700
- }
701
- };
702
676
$ user ->forceFill ([
703
677
'name ' => 'John ' ,
704
678
@@ -718,21 +692,13 @@ public function getAvatarAttribute($value)
718
692
*/
719
693
public function it_gives_correct_value_using_path_specified_in_field_option_when_model_has_mutator_method ()
720
694
{
721
- $ user = new class extends User {
722
- use HasImageUploads;
723
-
724
- public static $ imageFields = [
725
- 'avatar ' => [
726
- 'width ' => 300 ,
727
- 'path ' => 'avatar '
728
- ]
729
- ];
730
-
731
- public function getAvatarAttribute ($ value )
732
- {
733
- return $ this ->imageUrl ('avatar ' );
734
- }
735
- };
695
+ $ user = new ModelWithMutator ();
696
+ $ user ->setImagesField ([
697
+ 'avatar ' => [
698
+ 'width ' => 300 ,
699
+ 'path ' => 'avatar '
700
+ ]
701
+ ]);
736
702
737
703
$ user ->forceFill ([
738
704
'name ' => 'John ' ,
@@ -795,3 +761,27 @@ protected function avatarUploadFilePath($file)
795
761
return 'custome-avatar.jpg ' ;
796
762
}
797
763
}
764
+
765
+ class ImageFieldOptionsModel extends User {
766
+ use HasImageUploads;
767
+
768
+ protected static $ imageFields = ['avatar ' => [
769
+ 'width ' => 200 ,
770
+ 'height ' => 200 ,
771
+ 'crop ' => true ,
772
+ 'folder ' => 'avatar '
773
+ ]];
774
+ }
775
+
776
+ class ModelWithMutator extends User {
777
+ use HasImageUploads;
778
+
779
+ public static $ imageFields = [
780
+ 'avatar '
781
+ ];
782
+
783
+ public function getAvatarAttribute ($ value )
784
+ {
785
+ return $ this ->imageUrl ('avatar ' );
786
+ }
787
+ }
0 commit comments