github.com/goravel/framework@v1.13.9/testing/mock/mock.go (about)

     1  package mock
     2  
     3  import (
     4  	accessmocks "github.com/goravel/framework/contracts/auth/access/mocks"
     5  	authmocks "github.com/goravel/framework/contracts/auth/mocks"
     6  	cachemocks "github.com/goravel/framework/contracts/cache/mocks"
     7  	configmocks "github.com/goravel/framework/contracts/config/mocks"
     8  	consolemocks "github.com/goravel/framework/contracts/console/mocks"
     9  	cryptmocks "github.com/goravel/framework/contracts/crypt/mocks"
    10  	ormmocks "github.com/goravel/framework/contracts/database/orm/mocks"
    11  	seedermocks "github.com/goravel/framework/contracts/database/seeder/mocks"
    12  	eventmocks "github.com/goravel/framework/contracts/event/mocks"
    13  	filesystemmocks "github.com/goravel/framework/contracts/filesystem/mocks"
    14  	foundationmocks "github.com/goravel/framework/contracts/foundation/mocks"
    15  	grpcmocks "github.com/goravel/framework/contracts/grpc/mocks"
    16  	hashmocks "github.com/goravel/framework/contracts/hash/mocks"
    17  	httpmocks "github.com/goravel/framework/contracts/http/mocks"
    18  	mailmocks "github.com/goravel/framework/contracts/mail/mocks"
    19  	queuemocks "github.com/goravel/framework/contracts/queue/mocks"
    20  	validatemocks "github.com/goravel/framework/contracts/validation/mocks"
    21  	"github.com/goravel/framework/foundation"
    22  )
    23  
    24  var app *foundationmocks.Application
    25  
    26  func App() *foundationmocks.Application {
    27  	if app == nil {
    28  		app = &foundationmocks.Application{}
    29  		foundation.App = app
    30  	}
    31  
    32  	return app
    33  }
    34  
    35  func Artisan() *consolemocks.Artisan {
    36  	mockArtisan := &consolemocks.Artisan{}
    37  	App().On("MakeArtisan").Return(mockArtisan)
    38  
    39  	return mockArtisan
    40  }
    41  
    42  func Auth() *authmocks.Auth {
    43  	mockAuth := &authmocks.Auth{}
    44  	App().On("MakeAuth").Return(mockAuth)
    45  
    46  	return mockAuth
    47  }
    48  
    49  func Cache() (*cachemocks.Cache, *cachemocks.Driver, *cachemocks.Lock) {
    50  	mockCache := &cachemocks.Cache{}
    51  	App().On("MakeCache").Return(mockCache)
    52  
    53  	return mockCache, &cachemocks.Driver{}, &cachemocks.Lock{}
    54  }
    55  
    56  func Config() *configmocks.Config {
    57  	mockConfig := &configmocks.Config{}
    58  	App().On("MakeConfig").Return(mockConfig)
    59  
    60  	return mockConfig
    61  }
    62  
    63  func Crypt() *cryptmocks.Crypt {
    64  	mockCrypt := &cryptmocks.Crypt{}
    65  	App().On("MakeCrypt").Return(mockCrypt)
    66  
    67  	return mockCrypt
    68  }
    69  
    70  func Event() (*eventmocks.Instance, *eventmocks.Task) {
    71  	mockEvent := &eventmocks.Instance{}
    72  	App().On("MakeEvent").Return(mockEvent)
    73  
    74  	return mockEvent, &eventmocks.Task{}
    75  }
    76  
    77  func Gate() *accessmocks.Gate {
    78  	mockGate := &accessmocks.Gate{}
    79  	App().On("MakeGate").Return(mockGate)
    80  
    81  	return mockGate
    82  }
    83  
    84  func Grpc() *grpcmocks.Grpc {
    85  	mockGrpc := &grpcmocks.Grpc{}
    86  	App().On("MakeGrpc").Return(mockGrpc)
    87  
    88  	return mockGrpc
    89  }
    90  
    91  func Hash() *hashmocks.Hash {
    92  	mockHash := &hashmocks.Hash{}
    93  	App().On("MakeHash").Return(mockHash)
    94  
    95  	return mockHash
    96  }
    97  
    98  func Log() {
    99  	App().On("MakeLog").Return(NewTestLog())
   100  }
   101  
   102  func Mail() *mailmocks.Mail {
   103  	mockMail := &mailmocks.Mail{}
   104  	App().On("MakeMail").Return(mockMail)
   105  
   106  	return mockMail
   107  }
   108  
   109  func Orm() (*ormmocks.Orm, *ormmocks.Query, *ormmocks.Transaction, *ormmocks.Association) {
   110  	mockOrm := &ormmocks.Orm{}
   111  	App().On("MakeOrm").Return(mockOrm)
   112  
   113  	return mockOrm, &ormmocks.Query{}, &ormmocks.Transaction{}, &ormmocks.Association{}
   114  }
   115  
   116  func Queue() (*queuemocks.Queue, *queuemocks.Task) {
   117  	mockQueue := &queuemocks.Queue{}
   118  	App().On("MakeQueue").Return(mockQueue)
   119  
   120  	return mockQueue, &queuemocks.Task{}
   121  }
   122  
   123  func RateLimiter() *httpmocks.RateLimiter {
   124  	mockRateLimiter := &httpmocks.RateLimiter{}
   125  	App().On("MakeRateLimiter").Return(mockRateLimiter)
   126  
   127  	return mockRateLimiter
   128  }
   129  
   130  func Storage() (*filesystemmocks.Storage, *filesystemmocks.Driver, *filesystemmocks.File) {
   131  	mockStorage := &filesystemmocks.Storage{}
   132  	mockDriver := &filesystemmocks.Driver{}
   133  	mockFile := &filesystemmocks.File{}
   134  	App().On("MakeStorage").Return(mockStorage)
   135  
   136  	return mockStorage, mockDriver, mockFile
   137  }
   138  
   139  func Validation() (*validatemocks.Validation, *validatemocks.Validator, *validatemocks.Errors) {
   140  	mockValidation := &validatemocks.Validation{}
   141  	mockValidator := &validatemocks.Validator{}
   142  	mockErrors := &validatemocks.Errors{}
   143  	App().On("MakeValidation").Return(mockValidation)
   144  
   145  	return mockValidation, mockValidator, mockErrors
   146  }
   147  
   148  func View() *httpmocks.View {
   149  	mockView := &httpmocks.View{}
   150  	App().On("MakeView").Return(mockView)
   151  
   152  	return mockView
   153  }
   154  
   155  func Seeder() *seedermocks.Facade {
   156  	mockSeeder := &seedermocks.Facade{}
   157  	App().On("MakeSeeder").Return(mockSeeder)
   158  
   159  	return mockSeeder
   160  }