test: add comprehensive unit and integration tests for RAG Pipeline components (#32237)

Co-authored-by: CodingOnStar <hanxujiang@dify.com>
This commit is contained in:
Coding On Star
2026-02-12 10:28:55 +08:00
committed by GitHub
parent bfdc39510b
commit b65678bd4c
60 changed files with 5025 additions and 5171 deletions

View File

@ -2,9 +2,8 @@ import type { Viewport } from 'reactflow'
import type { Node } from '@/app/components/workflow/types'
import { describe, expect, it, vi } from 'vitest'
import { BlockEnum } from '@/app/components/workflow/types'
import { processNodesWithoutDataSource } from './nodes'
import { processNodesWithoutDataSource } from '../nodes'
// Mock constants
vi.mock('@/app/components/workflow/constants', () => ({
CUSTOM_NODE: 'custom',
NODE_WIDTH_X_OFFSET: 400,
@ -121,8 +120,6 @@ describe('processNodesWithoutDataSource', () => {
const result = processNodesWithoutDataSource(nodes, viewport)
// New nodes should be positioned based on the leftmost node (x: 200)
// startX = 200 - 400 = -200
expect(result.nodes[0].position.x).toBe(-200)
expect(result.nodes[0].position.y).toBe(100)
})
@ -140,10 +137,6 @@ describe('processNodesWithoutDataSource', () => {
const result = processNodesWithoutDataSource(nodes, viewport)
// startX = 300 - 400 = -100
// startY = 200
// viewport.x = (100 - (-100)) * 1 = 200
// viewport.y = (100 - 200) * 1 = -100
expect(result.viewport).toEqual({
x: 200,
y: -100,
@ -164,10 +157,6 @@ describe('processNodesWithoutDataSource', () => {
const result = processNodesWithoutDataSource(nodes, viewport)
// startX = 300 - 400 = -100
// startY = 200
// viewport.x = (100 - (-100)) * 2 = 400
// viewport.y = (100 - 200) * 2 = -200
expect(result.viewport).toEqual({
x: 400,
y: -200,
@ -202,7 +191,6 @@ describe('processNodesWithoutDataSource', () => {
const result = processNodesWithoutDataSource(nodes)
// Data source empty node position
const dataSourceEmptyNode = result.nodes[0]
const noteNode = result.nodes[1]
@ -276,7 +264,6 @@ describe('processNodesWithoutDataSource', () => {
const result = processNodesWithoutDataSource(nodes, viewport)
// No custom nodes to find leftmost, so no new nodes are added
expect(result.nodes).toBe(nodes)
expect(result.viewport).toBe(viewport)
})
@ -301,7 +288,6 @@ describe('processNodesWithoutDataSource', () => {
const result = processNodesWithoutDataSource(nodes)
// First node should be used as leftNode
expect(result.nodes.length).toBe(4)
})
@ -317,7 +303,6 @@ describe('processNodesWithoutDataSource', () => {
const result = processNodesWithoutDataSource(nodes)
// startX = -100 - 400 = -500
expect(result.nodes[0].position.x).toBe(-500)
expect(result.nodes[0].position.y).toBe(-50)
})