github.com/goravel/framework@v1.13.9/queue/console/job_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 TestJobMakeCommand(t *testing.T) {
    13  	jobMakeCommand := &JobMakeCommand{}
    14  	mockContext := &consolemocks.Context{}
    15  	mockContext.On("Argument", 0).Return("").Once()
    16  	err := jobMakeCommand.Handle(mockContext)
    17  	assert.EqualError(t, err, "Not enough arguments (missing: name) ")
    18  
    19  	mockContext.On("Argument", 0).Return("GoravelJob").Once()
    20  	err = jobMakeCommand.Handle(mockContext)
    21  	assert.Nil(t, err)
    22  	assert.True(t, file.Exists("app/jobs/goravel_job.go"))
    23  
    24  	mockContext.On("Argument", 0).Return("Goravel/Job").Once()
    25  	err = jobMakeCommand.Handle(mockContext)
    26  	assert.Nil(t, err)
    27  	assert.True(t, file.Exists("app/jobs/Goravel/job.go"))
    28  	assert.True(t, file.Contain("app/jobs/Goravel/job.go", "package Goravel"))
    29  	assert.True(t, file.Contain("app/jobs/Goravel/job.go", "type Job struct"))
    30  	assert.Nil(t, file.Remove("app"))
    31  }