chat_back_go/internal/repository/repository_test.go

36 lines
872 B
Go

package repository
import (
"github.com/stretchr/testify/assert"
"go.mongodb.org/mongo-driver/v2/mongo"
"go.mongodb.org/mongo-driver/v2/mongo/options"
"go.uber.org/mock/gomock"
"testing"
"git.urec56.ru/urec/chat_back_go/config"
mock_database "git.urec56.ru/urec/chat_back_go/internal/database/mocks"
"git.urec56.ru/urec/chat_back_go/internal/logger"
)
func Test_NewRepository(t *testing.T) {
c := gomock.NewController(t)
defer c.Finish()
db, _, dbClose := mock_database.GetMockDBx(t)
defer dbClose()
log := logger.NewLogger(config.Config{Mode: "TEST"})
mc, _ := mongo.Connect(options.Client())
mdb := mc.Database("test_db")
repo := NewRepository(db, log, mdb)
expected := &Repository{
User: &userRepository{db: db, l: log},
Message: &messageRepository{db: db, mc: mdb.Collection("message"), l: log},
}
assert.Equal(t, expected, repo)
}