@@ -19,10 +19,15 @@ class NovaResourceGeneratorTest extends TestCase
1919{
2020 use NovaResourceGeneratorMockTrait;
2121
22- public function testCreateWithMissingNovaPackage ()
22+ public function setUp (): void
2323 {
24+ parent ::setUp ();
25+
2426 Event::fake ();
27+ }
2528
29+ public function testCreateWithMissingNovaPackage ()
30+ {
2631 $ this ->mockNovaServiceProviderExists (false );
2732
2833 app (NovaResourceGenerator::class)
@@ -67,10 +72,8 @@ className: ClassAlreadyExistsException::class,
6772 ->generate ();
6873 }
6974
70- public function testCreate ()
75+ public function testSuccess ()
7176 {
72- Event::fake ();
73-
7477 $ this ->mockNovaServiceProviderExists ();
7578
7679 $ this ->mockFilesystem ();
@@ -90,41 +93,27 @@ className: SuccessCreateMessage::class,
9093 );
9194 }
9295
93- public function testGetModelFieldsFromDatabase ()
96+ public function testSuccessWithoutCommandLineFields ()
9497 {
98+ $ this ->mockNovaServiceProviderExists ();
99+
95100 $ this ->mockGettingModelInstance ();
96101
97- $ reflectionClass = new ReflectionClass (NovaResourceGenerator::class);
98- $ method = $ reflectionClass ->getMethod ('getFieldsForCreation ' );
99- $ method ->setAccessible (true );
102+ $ this ->mockFilesystem ();
100103
101- $ generator = (new NovaResourceGenerator )
104+ app (NovaResourceGenerator::class)
105+ ->setModel ('Post ' )
102106 ->setFields ([])
103- ->setModel ('Post ' );
104-
105- $ fields = $ method ->invokeArgs ($ generator , []);
106-
107- $ this ->assertEquals ([
108- [
109- new DatabaseNovaField (new Column ('id ' , new IntegerType )),
110- new DatabaseNovaField (new Column ('title ' , new StringType )),
111- new DatabaseNovaField (new Column ('created_at ' , new DatetimeType )),
112- ],
113- [
114- 'integer ' => 'Number ' ,
115- 'smallint ' => 'Number ' ,
116- 'bigint ' => 'Number ' ,
117- 'float ' => 'Number ' ,
118- 'decimal ' => 'Number ' ,
119- 'string ' => 'Text ' ,
120- 'text ' => 'Text ' ,
121- 'guid ' => 'Text ' ,
122- 'json ' => 'Text ' ,
123- 'date ' => 'Date ' ,
124- 'datetime ' => 'DateTime ' ,
125- 'datetimetz ' => 'DateTime ' ,
126- 'boolean ' => 'Boolean ' ,
127- ]
128- ], $ fields );
107+ ->generate ();
108+
109+ $ this ->assertGeneratedFileEquals (
110+ fixtureName: 'created_resource_without_command_line_fields.php ' ,
111+ filePath: 'app/Nova/PostResource.php ' ,
112+ );
113+
114+ $ this ->assertEventPushed (
115+ className: SuccessCreateMessage::class,
116+ message: 'Created a new Nova Resource: PostResource ' ,
117+ );
129118 }
130119}
0 commit comments