mirror of
https://github.com/langgenius/dify.git
synced 2026-05-06 02:18:08 +08:00
test: add comprehensive unit and integration tests for RAG Pipeline components (#32237)
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
This commit is contained in:
@ -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)
|
||||
})
|
||||
Reference in New Issue
Block a user