Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package usecase
- import (
- "io/ioutil"
- "testing"
- "time"
- "github.com/###/pkg/entity"
- "github.com/###/pkg/user/mocks"
- log "github.com/sirupsen/logrus"
- )
- func TestCreate(t *testing.T) {
- // disable logrus for tests
- log.SetOutput(ioutil.Discard)
- repo := mocks.NewInmemUserRepository()
- userUsecase := NewUserUsecase(repo)
- tests := []struct {
- name string
- user *entity.User
- wantErr bool
- }{
- {
- name: "Success",
- user: &entity.User{
- ID: 1,
- Username: "test",
- Password: "test",
- CreatedAt: time.Now(),
- },
- wantErr: false,
- },
- {
- name: "Empty username",
- user: &entity.User{
- ID: 2,
- Username: "",
- Password: "test",
- CreatedAt: time.Now(),
- },
- wantErr: true,
- },
- {
- name: "Empty password",
- user: &entity.User{
- ID: 3,
- Username: "test_2",
- Password: "",
- CreatedAt: time.Now(),
- },
- wantErr: true,
- },
- {
- name: "Zero time",
- user: &entity.User{
- ID: 4,
- Username: "test_3",
- Password: "test",
- },
- wantErr: true,
- },
- }
- for _, tt := range tests {
- t.Run(tt.name, func(t *testing.T) {
- err := userUsecase.Create(tt.user)
- if (err != nil) != tt.wantErr {
- t.Errorf("Got err: %v, wanted: %v", err, tt.wantErr)
- }
- })
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement