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.
synctv/internal/model/model_test.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)
}
}