mirror of https://github.com/synctv-org/synctv
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.4 KiB
Go
69 lines
1.4 KiB
Go
package model_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/glebarez/sqlite"
|
|
"github.com/synctv-org/synctv/internal/model"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func TestAutoMigrate(t *testing.T) {
|
|
// db, err := gorm.Open(sqlite.Open("file::memory:?cache=shared"), &gorm.Config{})
|
|
db, err := gorm.Open(sqlite.Open("./sqlite.db"), &gorm.Config{})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
err = db.AutoMigrate(new(model.Movie), new(model.Room), new(model.User), new(model.RoomUserRelation))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func TestCreateRoom(t *testing.T) {
|
|
db, err := gorm.Open(sqlite.Open("./sqlite.db"), &gorm.Config{})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
room := model.Room{
|
|
Name: "test",
|
|
HashedPassword: nil,
|
|
}
|
|
err = db.Create(&room).Error
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func TestCreateUser(t *testing.T) {
|
|
db, err := gorm.Open(sqlite.Open("./sqlite.db"), &gorm.Config{})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
user := model.User{
|
|
Username: "user1",
|
|
GroupUserRelations: []model.RoomUserRelation{},
|
|
}
|
|
err = db.Create(&user).Error
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func TestAddUserToRoom(t *testing.T) {
|
|
db, err := gorm.Open(sqlite.Open("./sqlite.db"), &gorm.Config{})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
ur := model.RoomUserRelation{
|
|
UserID: "1",
|
|
RoomID: "1",
|
|
Role: model.RoomRoleUser,
|
|
Permissions: model.DefaultPermissions,
|
|
}
|
|
err = db.Create(&ur).Error
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|