github.com/goravel/framework@v1.13.9/database/console/seeder_make_command_test.go (about)

     1  package console
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  
     8  	consolemocks "github.com/goravel/framework/contracts/console/mocks"
     9  	"github.com/goravel/framework/support/file"
    10  )
    11  
    12  func TestSeederMakeCommand(t *testing.T) {
    13  	seederMakeCommand := &SeederMakeCommand{}
    14  	mockContext := &consolemocks.Context{}
    15  	mockContext.On("Argument", 0).Return("").Once()
    16  	assert.Nil(t, seederMakeCommand.Handle(mockContext))
    17  
    18  	mockContext.On("Argument", 0).Return("UserSeeder").Once()
    19  	assert.Nil(t, seederMakeCommand.Handle(mockContext))
    20  	assert.True(t, file.Exists("database/seeders/user_seeder.go"))
    21  	assert.True(t, file.Contain("database/seeders/user_seeder.go", "package seeders"))
    22  	assert.True(t, file.Contain("database/seeders/user_seeder.go", "type UserSeeder struct"))
    23  	assert.Nil(t, file.Remove("database"))
    24  
    25  	mockContext.On("Argument", 0).Return("subdir/DemoSeeder").Once()
    26  	assert.Nil(t, seederMakeCommand.Handle(mockContext))
    27  	assert.True(t, file.Exists("database/seeders/subdir/demo_seeder.go"))
    28  	assert.True(t, file.Contain("database/seeders/subdir/demo_seeder.go", "package subdir"))
    29  	assert.True(t, file.Contain("database/seeders/subdir/demo_seeder.go", "type DemoSeeder struct"))
    30  	assert.Nil(t, file.Remove("database"))
    31  }