Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.32 KB | None | 0 0
  1. package usecase
  2.  
  3. import (
  4.     "io/ioutil"
  5.     "testing"
  6.     "time"
  7.  
  8.     "github.com/###/pkg/entity"
  9.     "github.com/###/pkg/user/mocks"
  10.  
  11.     log "github.com/sirupsen/logrus"
  12. )
  13.  
  14. func TestCreate(t *testing.T) {
  15.     // disable logrus for tests
  16.     log.SetOutput(ioutil.Discard)
  17.  
  18.     repo := mocks.NewInmemUserRepository()
  19.     userUsecase := NewUserUsecase(repo)
  20.  
  21.     tests := []struct {
  22.         name    string
  23.         user    *entity.User
  24.         wantErr bool
  25.     }{
  26.         {
  27.             name: "Success",
  28.             user: &entity.User{
  29.                 ID:        1,
  30.                 Username:  "test",
  31.                 Password:  "test",
  32.                 CreatedAt: time.Now(),
  33.             },
  34.             wantErr: false,
  35.         },
  36.         {
  37.             name: "Empty username",
  38.             user: &entity.User{
  39.                 ID:        2,
  40.                 Username:  "",
  41.                 Password:  "test",
  42.                 CreatedAt: time.Now(),
  43.             },
  44.             wantErr: true,
  45.         },
  46.         {
  47.             name: "Empty password",
  48.             user: &entity.User{
  49.                 ID:        3,
  50.                 Username:  "test_2",
  51.                 Password:  "",
  52.                 CreatedAt: time.Now(),
  53.             },
  54.             wantErr: true,
  55.         },
  56.         {
  57.             name: "Zero time",
  58.             user: &entity.User{
  59.                 ID:       4,
  60.                 Username: "test_3",
  61.                 Password: "test",
  62.             },
  63.             wantErr: true,
  64.         },
  65.     }
  66.  
  67.     for _, tt := range tests {
  68.         t.Run(tt.name, func(t *testing.T) {
  69.             err := userUsecase.Create(tt.user)
  70.             if (err != nil) != tt.wantErr {
  71.                 t.Errorf("Got err: %v, wanted: %v", err, tt.wantErr)
  72.             }
  73.         })
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement