Files
crawlab/core/models/delegate/model_test.go
2024-06-14 15:59:48 +08:00

66 lines
1.4 KiB
Go

package delegate_test
import (
"github.com/crawlab-team/crawlab/core/interfaces"
"github.com/crawlab-team/crawlab/core/models/delegate"
models2 "github.com/crawlab-team/crawlab/core/models/models"
"github.com/crawlab-team/crawlab/db/mongo"
"github.com/stretchr/testify/require"
"testing"
)
func TestProject_Add(t *testing.T) {
SetupTest(t)
p := &models2.Project{}
err := delegate.NewModelDelegate(p).Add()
require.Nil(t, err)
require.NotNil(t, p.Id)
a, err := delegate.NewModelDelegate(p).GetArtifact()
require.Nil(t, err)
require.Equal(t, p.Id, a.GetId())
require.NotNil(t, a.GetSys().GetCreateTs())
require.NotNil(t, a.GetSys().GetUpdateTs())
}
func TestProject_Save(t *testing.T) {
SetupTest(t)
p := &models2.Project{}
err := delegate.NewModelDelegate(p).Add()
require.Nil(t, err)
name := "test_project"
p.Name = name
err = delegate.NewModelDelegate(p).Save()
require.Nil(t, err)
err = mongo.GetMongoCol(interfaces.ModelColNameProject).FindId(p.Id).One(&p)
require.Nil(t, err)
require.Equal(t, name, p.Name)
}
func TestProject_Delete(t *testing.T) {
SetupTest(t)
p := &models2.Project{
Name: "test_project",
}
err := delegate.NewModelDelegate(p).Add()
require.Nil(t, err)
err = delegate.NewModelDelegate(p).Delete()
require.Nil(t, err)
var a models2.Artifact
col := mongo.GetMongoCol(interfaces.ModelColNameArtifact)
err = col.FindId(p.Id).One(&a)
require.Nil(t, err)
require.NotNil(t, a.Obj)
require.True(t, a.Del)
}