Skip to content

Commit 2cc5370

Browse files
kasarolzzwCoda-bot
andcommitted
test: [Coda] enhance prompt snippet coverage
(LogID: 2025102221342501009110401665250F9) Co-Authored-By: Coda <[email protected]>
1 parent 52b96db commit 2cc5370

File tree

5 files changed

+549
-8
lines changed

5 files changed

+549
-8
lines changed

backend/modules/prompt/application/convertor/prompt_test.go

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,123 @@ func mockPromptCases() []promptTestCase {
394394
},
395395
},
396396
},
397+
{
398+
name: "snippet prompt with snippets",
399+
dto: &prompt.Prompt{
400+
ID: ptr.Of(int64(789)),
401+
WorkspaceID: ptr.Of(int64(321)),
402+
PromptKey: ptr.Of("snippet_prompt"),
403+
PromptBasic: &prompt.PromptBasic{
404+
PromptType: ptr.Of(prompt.PromptTypeSnippet),
405+
DisplayName: ptr.Of("Snippet Prompt"),
406+
Description: ptr.Of("Snippet description"),
407+
LatestVersion: ptr.Of("2.0.0"),
408+
CreatedBy: ptr.Of("snippet_creator"),
409+
UpdatedBy: ptr.Of("snippet_updater"),
410+
CreatedAt: ptr.Of(nowMilli),
411+
UpdatedAt: ptr.Of(nowMilli),
412+
},
413+
PromptCommit: &prompt.PromptCommit{
414+
CommitInfo: &prompt.CommitInfo{
415+
Version: ptr.Of("2.0.0"),
416+
BaseVersion: ptr.Of("1.0.0"),
417+
Description: ptr.Of("Snippet version"),
418+
CommittedBy: ptr.Of("snippet_creator"),
419+
CommittedAt: ptr.Of(nowMilli),
420+
},
421+
Detail: &prompt.PromptDetail{
422+
PromptTemplate: &prompt.PromptTemplate{
423+
TemplateType: ptr.Of(prompt.TemplateTypeNormal),
424+
HasSnippet: ptr.Of(true),
425+
Messages: []*prompt.Message{
426+
{
427+
Role: ptr.Of(prompt.RoleSystem),
428+
Content: ptr.Of("Snippet content"),
429+
},
430+
},
431+
},
432+
},
433+
},
434+
PromptDraft: &prompt.PromptDraft{
435+
DraftInfo: &prompt.DraftInfo{
436+
UserID: ptr.Of("snippet_creator"),
437+
BaseVersion: ptr.Of("2.0.0"),
438+
IsModified: ptr.Of(false),
439+
CreatedAt: ptr.Of(nowMilli),
440+
UpdatedAt: ptr.Of(nowMilli),
441+
},
442+
Detail: &prompt.PromptDetail{
443+
PromptTemplate: &prompt.PromptTemplate{
444+
TemplateType: ptr.Of(prompt.TemplateTypeNormal),
445+
HasSnippet: ptr.Of(true),
446+
Messages: []*prompt.Message{
447+
{
448+
Role: ptr.Of(prompt.RoleUser),
449+
Content: ptr.Of("Draft snippet content"),
450+
},
451+
},
452+
},
453+
},
454+
},
455+
},
456+
do: &entity.Prompt{
457+
ID: 789,
458+
SpaceID: 321,
459+
PromptKey: "snippet_prompt",
460+
PromptBasic: &entity.PromptBasic{
461+
PromptType: entity.PromptTypeSnippet,
462+
DisplayName: "Snippet Prompt",
463+
Description: "Snippet description",
464+
LatestVersion: "2.0.0",
465+
CreatedBy: "snippet_creator",
466+
UpdatedBy: "snippet_updater",
467+
CreatedAt: time.UnixMilli(nowMilli),
468+
UpdatedAt: time.UnixMilli(nowMilli),
469+
},
470+
PromptCommit: &entity.PromptCommit{
471+
CommitInfo: &entity.CommitInfo{
472+
Version: "2.0.0",
473+
BaseVersion: "1.0.0",
474+
Description: "Snippet version",
475+
CommittedBy: "snippet_creator",
476+
CommittedAt: time.UnixMilli(nowMilli),
477+
},
478+
PromptDetail: &entity.PromptDetail{
479+
PromptTemplate: &entity.PromptTemplate{
480+
TemplateType: entity.TemplateTypeNormal,
481+
HasSnippets: true,
482+
Messages: []*entity.Message{
483+
{
484+
Role: entity.RoleSystem,
485+
Content: ptr.Of("Snippet content"),
486+
},
487+
},
488+
},
489+
},
490+
},
491+
PromptDraft: &entity.PromptDraft{
492+
DraftInfo: &entity.DraftInfo{
493+
UserID: "snippet_creator",
494+
BaseVersion: "2.0.0",
495+
IsModified: false,
496+
CreatedAt: time.UnixMilli(nowMilli),
497+
UpdatedAt: time.UnixMilli(nowMilli),
498+
},
499+
PromptDetail: &entity.PromptDetail{
500+
PromptTemplate: &entity.PromptTemplate{
501+
TemplateType: entity.TemplateTypeNormal,
502+
HasSnippets: true,
503+
Messages: []*entity.Message{
504+
{
505+
Role: entity.RoleUser,
506+
Content: ptr.Of("Draft snippet content"),
507+
},
508+
},
509+
},
510+
},
511+
},
512+
},
513+
},
397514
}
398515
}
399516

backend/modules/prompt/application/debug_test.go

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,45 @@ func TestPromptDebugApplicationImpl_DebugStreaming(t *testing.T) {
182182
},
183183
wantErr: nil,
184184
},
185+
{
186+
name: "expand snippets error",
187+
fieldsGetter: func(ctrl *gomock.Controller) fields {
188+
mockPromptSvc := servicemocks.NewMockIPromptService(ctrl)
189+
mockPromptSvc.EXPECT().ExpandSnippets(gomock.Any(), gomock.Any()).Return(errorx.New("expand error"))
190+
191+
mockBenefitSvc := benefitmocks.NewMockIBenefitService(ctrl)
192+
mockBenefitSvc.EXPECT().CheckPromptBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckPromptBenefitResult{}, nil)
193+
194+
mockAuth := rpcmocks.NewMockIAuthProvider(ctrl)
195+
mockAuth.EXPECT().MCheckPromptPermission(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil)
196+
197+
return fields{
198+
promptService: mockPromptSvc,
199+
benefitService: mockBenefitSvc,
200+
auth: mockAuth,
201+
}
202+
},
203+
args: args{
204+
ctx: session.WithCtxUser(context.Background(), mockUser),
205+
req: &debug.DebugStreamingRequest{
206+
Prompt: &prompt.Prompt{
207+
ID: ptr.Of(int64(123456)),
208+
WorkspaceID: ptr.Of(int64(123456)),
209+
PromptDraft: &prompt.PromptDraft{
210+
Detail: &prompt.PromptDetail{
211+
PromptTemplate: &prompt.PromptTemplate{
212+
TemplateType: ptr.Of(prompt.TemplateTypeNormal),
213+
},
214+
ModelConfig: &prompt.ModelConfig{},
215+
},
216+
},
217+
},
218+
SingleStepDebug: ptr.Of(true),
219+
},
220+
stream: localstream.NewInMemStream(context.Background(), make(chan *debug.DebugStreamingResponse), make(chan error)),
221+
},
222+
wantErr: errorx.NewByCode(prompterr.CommonInternalErrorCode),
223+
},
185224
{
186225
name: "invalid param: prompt is nil",
187226
fieldsGetter: func(ctrl *gomock.Controller) fields { return fields{} },

backend/modules/prompt/application/execute_test.go

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ import (
2020
"github.com/coze-dev/coze-loop/backend/modules/prompt/domain/service"
2121
servicemocks "github.com/coze-dev/coze-loop/backend/modules/prompt/domain/service/mocks"
2222

23-
// prompterr "github.com/coze-dev/coze-loop/backend/modules/prompt/pkg/errno"
24-
// "github.com/coze-dev/coze-loop/backend/pkg/errorx"
23+
"github.com/coze-dev/coze-loop/backend/pkg/errorx"
2524
"github.com/coze-dev/coze-loop/backend/pkg/lang/ptr"
2625
"github.com/coze-dev/coze-loop/backend/pkg/unittest"
2726
)
@@ -190,6 +189,31 @@ func TestPromptExecuteApplicationImpl_ExecuteInternal(t *testing.T) {
190189
wantR: execute.NewExecuteInternalResponse(),
191190
wantErr: errors.New("execution error"),
192191
},
192+
{
193+
name: "expand snippets error",
194+
fieldsGetter: func(ctrl *gomock.Controller) fields {
195+
mockManageRepo := repomocks.NewMockIManageRepo(ctrl)
196+
mockManageRepo.EXPECT().GetPrompt(gomock.Any(), gomock.Any()).Return(createMockPrompt(), nil)
197+
198+
mockPromptService := servicemocks.NewMockIPromptService(ctrl)
199+
mockPromptService.EXPECT().ExpandSnippets(gomock.Any(), gomock.Any()).Return(errorx.New("expand error"))
200+
201+
return fields{
202+
promptService: mockPromptService,
203+
manageRepo: mockManageRepo,
204+
}
205+
},
206+
args: args{
207+
ctx: context.Background(),
208+
req: &execute.ExecuteInternalRequest{
209+
PromptID: ptr.Of(int64(123)),
210+
WorkspaceID: ptr.Of(int64(123456)),
211+
Version: ptr.Of("1.0.0"),
212+
},
213+
},
214+
wantR: execute.NewExecuteInternalResponse(),
215+
wantErr: errorx.New("expand error"),
216+
},
193217
{
194218
name: "success with override params",
195219
fieldsGetter: func(ctrl *gomock.Controller) fields {

0 commit comments

Comments
 (0)