mirror of
https://github.com/semaphoreui/semaphore.git
synced 2024-11-23 12:30:41 +01:00
test(user): add unit tests
This commit is contained in:
parent
e43af6b493
commit
50b2064fc0
@ -1,9 +1,10 @@
|
||||
package bolt
|
||||
|
||||
import (
|
||||
"github.com/semaphoreui/semaphore/db"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/semaphoreui/semaphore/db"
|
||||
)
|
||||
|
||||
func TestBoltDb_UpdateProjectUser(t *testing.T) {
|
||||
@ -109,3 +110,96 @@ func TestGetUser(t *testing.T) {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
}
|
||||
func TestGetUserCount(t *testing.T) {
|
||||
store := CreateTestStore()
|
||||
|
||||
// Create first user
|
||||
_, err := store.CreateUser(db.UserWithPwd{
|
||||
Pwd: "123456",
|
||||
User: db.User{
|
||||
Email: "user1@example.com",
|
||||
Name: "User One",
|
||||
Username: "userone",
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
|
||||
// Create second user
|
||||
_, err = store.CreateUser(db.UserWithPwd{
|
||||
Pwd: "123456",
|
||||
User: db.User{
|
||||
Email: "user2@example.com",
|
||||
Name: "User Two",
|
||||
Username: "usertwo",
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
|
||||
// Get user count
|
||||
count, err := store.GetUserCount()
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
|
||||
// Verify the count
|
||||
if count != 2 {
|
||||
t.Fatalf("expected 2 users, got %d", count)
|
||||
}
|
||||
}
|
||||
func TestBoltDb_DeleteUser(t *testing.T) {
|
||||
store := CreateTestStore()
|
||||
|
||||
// Create a user
|
||||
usr, err := store.CreateUser(db.UserWithPwd{
|
||||
Pwd: "123456",
|
||||
User: db.User{
|
||||
Email: "deleteuser@example.com",
|
||||
Name: "Delete User",
|
||||
Username: "deleteuser",
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
|
||||
// Create a project
|
||||
proj, err := store.CreateProject(db.Project{
|
||||
Created: time.Now(),
|
||||
Name: "DeleteUserProject",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
|
||||
// Associate the user with the project
|
||||
_, err = store.CreateProjectUser(db.ProjectUser{
|
||||
ProjectID: proj.ID,
|
||||
UserID: usr.ID,
|
||||
Role: db.ProjectOwner,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
|
||||
// Delete the user
|
||||
err = store.DeleteUser(usr.ID)
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
|
||||
// Verify the user is deleted
|
||||
_, err = store.GetUser(usr.ID)
|
||||
if err == nil {
|
||||
t.Fatal("expected error, got nil")
|
||||
}
|
||||
|
||||
// Verify the project-user association is deleted
|
||||
_, err = store.GetProjectUser(proj.ID, usr.ID)
|
||||
if err == nil {
|
||||
t.Fatal("expected error, got nil")
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user