github.com/goravel/framework@v1.13.9/http/console/request_make_command_test.go (about)

     1  package console
     2  
     3  import (
     4  	"testing"
     5  
     6  	consolemocks "github.com/goravel/framework/contracts/console/mocks"
     7  	"github.com/goravel/framework/support/file"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestRequestMakeCommand(t *testing.T) {
    13  	requestMakeCommand := &RequestMakeCommand{}
    14  	mockContext := &consolemocks.Context{}
    15  	mockContext.On("Argument", 0).Return("").Once()
    16  	err := requestMakeCommand.Handle(mockContext)
    17  	assert.EqualError(t, err, "Not enough arguments (missing: name) ")
    18  
    19  	mockContext.On("Argument", 0).Return("CreateUser").Once()
    20  	err = requestMakeCommand.Handle(mockContext)
    21  	assert.Nil(t, err)
    22  	assert.True(t, file.Exists("app/http/requests/create_user.go"))
    23  
    24  	mockContext.On("Argument", 0).Return("User/Auth").Once()
    25  	err = requestMakeCommand.Handle(mockContext)
    26  	assert.Nil(t, err)
    27  	assert.True(t, file.Exists("app/http/requests/User/auth.go"))
    28  	assert.True(t, file.Contain("app/http/requests/User/auth.go", "package User"))
    29  	assert.True(t, file.Contain("app/http/requests/User/auth.go", "type Auth struct"))
    30  	assert.Nil(t, file.Remove("app"))
    31  }