package controllers_test import ( "context" "testing" "time" "gitea.badhouseplants.net/softplayer/softplayer-backend/internal/controllers" "github.com/stretchr/testify/assert" ) func newTestTokensController(ctx context.Context) *controllers.TokenController { return &controllers.TokenController{ DB: newTestDbConnection(ctx), Redis: newTestRedisConnection(), } } func TestCreateToken_Success(t *testing.T) { // Create a user for the token ctrlAccount := newTestAccountController(t.Context()) accountData := &controllers.AccountData{ Password: "qwertyu9", Email: newTestUniqueEmail("accounts"), } id, err := ctrlAccount.Create(t.Context(), accountData) assert.NoError(t, err) tokenData := &controllers.TokenData{ Name: "Test Token", UserID: id, ExpiresAt: time.Now().Add(time.Second * 5), Scopes: map[string][]string{ "Test": {"test", "test2"}, }, } ctrl := newTestTokensController(t.Context()) tokenID, err := ctrl.Create(t.Context(), tokenData) assert.NoError(t, err) assert.NotEmpty(t, tokenID) } func TestCreateToken_Success(t *testing.T) { // Create a user for the token ctrlAccount := newTestAccountController(t.Context()) accountData := &controllers.AccountData{ Password: "qwertyu9", Email: newTestUniqueEmail("accounts"), } id, err := ctrlAccount.Create(t.Context(), accountData) assert.NoError(t, err) tokenData := &controllers.TokenData{ Name: "Test Token", UserID: id, ExpiresAt: time.Now().Add(time.Second * 5), Scopes: map[string][]string{ "Test": {"test", "test2"}, }, } ctrl := newTestTokensController(t.Context()) tokenID, err := ctrl.Create(t.Context(), tokenData) assert.NoError(t, err) assert.NotEmpty(t, tokenID) }