33 lines
978 B
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)
|
|
}
|
|
}
|