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.
70 lines
1.4 KiB
Go
70 lines
1.4 KiB
Go
2 years ago
|
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",
|
||
|
HashedPassword: nil,
|
||
|
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.RoleUser,
|
||
|
Permissions: model.DefaultPermissions,
|
||
|
}
|
||
|
err = db.Create(&ur).Error
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
}
|