mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 10:31:15 +00:00
fix(editor): Fix workflow-builder feedback tracking (no-changelog) (#15040)
This commit is contained in:
@@ -33,6 +33,7 @@ vi.mock('@/composables/useI18n', () => ({
|
|||||||
}),
|
}),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
const workflowPrompt = 'Create a workflow';
|
||||||
describe('AskAssistantBuild', () => {
|
describe('AskAssistantBuild', () => {
|
||||||
const sessionId = faker.string.uuid();
|
const sessionId = faker.string.uuid();
|
||||||
const renderComponent = createComponentRenderer(AskAssistantBuild);
|
const renderComponent = createComponentRenderer(AskAssistantBuild);
|
||||||
@@ -48,7 +49,7 @@ describe('AskAssistantBuild', () => {
|
|||||||
currentSessionId: sessionId,
|
currentSessionId: sessionId,
|
||||||
streaming: false,
|
streaming: false,
|
||||||
assistantThinkingMessage: undefined,
|
assistantThinkingMessage: undefined,
|
||||||
workflowPrompt: 'Create a workflow',
|
workflowPrompt,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -61,6 +62,7 @@ describe('AskAssistantBuild', () => {
|
|||||||
builderStore.resetBuilderChat = vi.fn();
|
builderStore.resetBuilderChat = vi.fn();
|
||||||
builderStore.addAssistantMessages = vi.fn();
|
builderStore.addAssistantMessages = vi.fn();
|
||||||
builderStore.$onAction = vi.fn().mockReturnValue(vi.fn());
|
builderStore.$onAction = vi.fn().mockReturnValue(vi.fn());
|
||||||
|
builderStore.workflowPrompt = workflowPrompt;
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('rendering', () => {
|
describe('rendering', () => {
|
||||||
@@ -99,6 +101,7 @@ describe('AskAssistantBuild', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('feedback handling', () => {
|
describe('feedback handling', () => {
|
||||||
|
const workflowJson = '{"nodes": [], "connections": {}}';
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
builderStore.chatMessages = [
|
builderStore.chatMessages = [
|
||||||
{
|
{
|
||||||
@@ -106,7 +109,7 @@ describe('AskAssistantBuild', () => {
|
|||||||
role: 'assistant',
|
role: 'assistant',
|
||||||
type: 'workflow-generated',
|
type: 'workflow-generated',
|
||||||
read: true,
|
read: true,
|
||||||
codeSnippet: '{}',
|
codeSnippet: workflowJson,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: faker.string.uuid(),
|
id: faker.string.uuid(),
|
||||||
@@ -128,8 +131,9 @@ describe('AskAssistantBuild', () => {
|
|||||||
await flushPromises();
|
await flushPromises();
|
||||||
|
|
||||||
expect(trackMock).toHaveBeenCalledWith('User rated workflow generation', {
|
expect(trackMock).toHaveBeenCalledWith('User rated workflow generation', {
|
||||||
chat_session_id: sessionId,
|
|
||||||
helpful: true,
|
helpful: true,
|
||||||
|
prompt: 'Create a workflow',
|
||||||
|
workflow_json: workflowJson,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -143,8 +147,9 @@ describe('AskAssistantBuild', () => {
|
|||||||
await flushPromises();
|
await flushPromises();
|
||||||
|
|
||||||
expect(trackMock).toHaveBeenCalledWith('User rated workflow generation', {
|
expect(trackMock).toHaveBeenCalledWith('User rated workflow generation', {
|
||||||
chat_session_id: sessionId,
|
|
||||||
helpful: false,
|
helpful: false,
|
||||||
|
prompt: 'Create a workflow',
|
||||||
|
workflow_json: workflowJson,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -171,8 +176,9 @@ describe('AskAssistantBuild', () => {
|
|||||||
expect(trackMock).toHaveBeenCalledWith(
|
expect(trackMock).toHaveBeenCalledWith(
|
||||||
'User submitted workflow generation feedback',
|
'User submitted workflow generation feedback',
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
chat_session_id: sessionId,
|
|
||||||
feedback: feedbackText,
|
feedback: feedbackText,
|
||||||
|
prompt: 'Create a workflow',
|
||||||
|
workflow_json: workflowJson,
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -28,6 +28,9 @@ const user = computed(() => ({
|
|||||||
|
|
||||||
const workflowGenerated = ref(false);
|
const workflowGenerated = ref(false);
|
||||||
const loadingMessage = computed(() => builderStore.assistantThinkingMessage);
|
const loadingMessage = computed(() => builderStore.assistantThinkingMessage);
|
||||||
|
const generatedWorkflowJson = computed(
|
||||||
|
() => builderStore.chatMessages.find((msg) => msg.type === 'workflow-generated')?.codeSnippet,
|
||||||
|
);
|
||||||
|
|
||||||
async function onUserMessage(content: string) {
|
async function onUserMessage(content: string) {
|
||||||
// If there is no current session running, initialize the support chat session
|
// If there is no current session running, initialize the support chat session
|
||||||
@@ -84,7 +87,7 @@ function onInsertWorkflow(code: string) {
|
|||||||
telemetry.track('Workflow generated from prompt', {
|
telemetry.track('Workflow generated from prompt', {
|
||||||
prompt: builderStore.workflowPrompt,
|
prompt: builderStore.workflowPrompt,
|
||||||
latency: new Date().getTime() - generationStartTime.value,
|
latency: new Date().getTime() - generationStartTime.value,
|
||||||
workflow_json: code,
|
workflow_json: generatedWorkflowJson.value,
|
||||||
});
|
});
|
||||||
|
|
||||||
nodeViewEventBus.emit('importWorkflowData', {
|
nodeViewEventBus.emit('importWorkflowData', {
|
||||||
@@ -114,24 +117,27 @@ function onNewWorkflow() {
|
|||||||
function onThumbsUp() {
|
function onThumbsUp() {
|
||||||
helpful.value = true;
|
helpful.value = true;
|
||||||
telemetry.track('User rated workflow generation', {
|
telemetry.track('User rated workflow generation', {
|
||||||
chat_session_id: builderStore.currentSessionId,
|
|
||||||
helpful: helpful.value,
|
helpful: helpful.value,
|
||||||
|
prompt: builderStore.workflowPrompt,
|
||||||
|
workflow_json: generatedWorkflowJson.value,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function onThumbsDown() {
|
function onThumbsDown() {
|
||||||
helpful.value = false;
|
helpful.value = false;
|
||||||
telemetry.track('User rated workflow generation', {
|
telemetry.track('User rated workflow generation', {
|
||||||
chat_session_id: builderStore.currentSessionId,
|
|
||||||
helpful: helpful.value,
|
helpful: helpful.value,
|
||||||
|
prompt: builderStore.workflowPrompt,
|
||||||
|
workflow_json: generatedWorkflowJson.value,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function onSubmitFeedback(feedback: string) {
|
function onSubmitFeedback(feedback: string) {
|
||||||
telemetry.track('User submitted workflow generation feedback', {
|
telemetry.track('User submitted workflow generation feedback', {
|
||||||
chat_session_id: builderStore.currentSessionId,
|
|
||||||
helpful: helpful.value,
|
helpful: helpful.value,
|
||||||
feedback,
|
feedback,
|
||||||
|
prompt: builderStore.workflowPrompt,
|
||||||
|
workflow_json: generatedWorkflowJson.value,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user