37 lines
1 KiB
Go
37 lines
1 KiB
Go
package service
|
|
|
|
import (
|
|
"github.com/golang-jwt/jwt/v5"
|
|
"github.com/redis/go-redis/v9"
|
|
"github.com/stretchr/testify/assert"
|
|
"go.uber.org/mock/gomock"
|
|
"sync"
|
|
"testing"
|
|
|
|
"git.urec56.ru/urec/chat_back_go/config"
|
|
"git.urec56.ru/urec/chat_back_go/internal/logger"
|
|
mock_repository "git.urec56.ru/urec/chat_back_go/internal/repository/mocks"
|
|
)
|
|
|
|
func Test_NewService(t *testing.T) {
|
|
c := gomock.NewController(t)
|
|
defer c.Finish()
|
|
|
|
repo := mock_repository.NewMockRepo(c)
|
|
log := logger.NewLogger(config.Config{Mode: "TEST"})
|
|
cfg := config.Config{}
|
|
rdb := &redis.Client{}
|
|
|
|
serv := NewService(repo, cfg, log, rdb)
|
|
cache := &cacheService{l: log, r: rdb, storage: &sync.Map{}}
|
|
auth := &authService{cfg: cfg.JWT, parser: jwt.NewParser(), l: log}
|
|
user := &userService{ur: repo, auth: auth, l: log, cache: cache}
|
|
expectedServ := &Service{
|
|
User: user,
|
|
Auth: auth,
|
|
Chat: &chatService{repo: repo, l: log},
|
|
Messages: &messageService{repo: repo, u: user, l: log},
|
|
}
|
|
|
|
assert.EqualValues(t, expectedServ, serv)
|
|
}
|