kra-new/internal/service/system/version_import_test.go

33 lines
978 B
Go

package system
import (
"context"
"errors"
"testing"
bizsystem "kra/internal/biz/system"
"kra/internal/service/dto"
)
type versionImportRepo struct {
bizsystem.VersionRepo
saveErr error
}
func (r *versionImportRepo) ImportVersionBundle(context.Context, *bizsystem.VersionBundle, *bizsystem.Version) error {
return &bizsystem.VersionStageError{Stage: bizsystem.VersionStageSave, Err: r.saveErr}
}
func TestImportRequestReturnsVersionAuditSaveFailure(t *testing.T) {
repo := &versionImportRepo{saveErr: errors.New("database unavailable")}
service := NewVersionService(bizsystem.NewVersionUsecase(repo))
request := &dto.ImportVersionRequest{}
request.Version.Name = "release"
request.Version.Code = "v1"
err := service.ImportRequest(context.Background(), request)
var stageErr *bizsystem.VersionStageError
if !errors.As(err, &stageErr) || stageErr.Stage != bizsystem.VersionStageSave {
t.Fatalf("ImportRequest() error = %v, want save stage error", err)
}
}