chore: update book enabled status wiring
This commit is contained in:
50
server/service/book/is_enabled_create_test.go
Normal file
50
server/service/book/is_enabled_create_test.go
Normal file
@@ -0,0 +1,50 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user