chat_back_go/internal/service/service_test.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)
}