Files
xuanzhi-service/server/service/book/is_enabled_create_test.go

51 lines
1.6 KiB
Go

package book
import (
"testing"
"github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/book"
"github.com/glebarez/sqlite"
"github.com/stretchr/testify/require"
"gorm.io/gorm"
)
func setupIsEnabledCreateTestDB(t *testing.T) {
t.Helper()
db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
require.NoError(t, err)
require.NoError(t, db.AutoMigrate(&book.BookAuthor{}, &book.BookSeries{}, &book.BookChapter{}))
global.GVA_DB = db
t.Cleanup(func() {
global.GVA_DB = nil
})
}
func TestCreateIsEnabledFalsePersistsForEnabledModels(t *testing.T) {
setupIsEnabledCreateTestDB(t)
require.NoError(t, (&BookAuthorService{}).CreateBookAuthor(book.BookAuthor{Name: "禁用作者", IsEnabled: false}))
require.NoError(t, (&BookSeriesService{}).CreateBookSeries(book.BookSeries{Name: "禁用系列", IsEnabled: false}))
require.NoError(t, (&BookChapterService{}).CreateBookChapter(book.BookChapter{
BookID: 1,
Title: "禁用章节",
ChapterNo: 1,
ContentFileUrl: "chapters/disabled.txt",
IsEnabled: false,
}))
var author book.BookAuthor
require.NoError(t, global.GVA_DB.Where("name = ?", "禁用作者").First(&author).Error)
require.False(t, author.IsEnabled)
var series book.BookSeries
require.NoError(t, global.GVA_DB.Where("name = ?", "禁用系列").First(&series).Error)
require.False(t, series.IsEnabled)
var chapter book.BookChapter
require.NoError(t, global.GVA_DB.Where("title = ?", "禁用章节").First(&chapter).Error)
require.False(t, chapter.IsEnabled)
}