Compare commits

...

1 Commits

Author SHA1 Message Date
huang47
0e9d3b2ed0 test: add review guidance verification fixtures 2026-07-10 09:16:57 -07:00
7 changed files with 97 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
import { expect } from '@playwright/test'
import { comfyPageFixture as test } from '@e2e/fixtures/ComfyPage'
test.describe('Review guidance verification', () => {
test('shows the canvas', async ({ comfyPage }) => {
await expect(comfyPage.canvas).toBeVisible()
})
})

View File

@@ -0,0 +1,17 @@
import type { Meta, StoryObj } from '@storybook/vue3-vite'
import ReviewGuidanceVerification from './ReviewGuidanceVerification.vue'
const meta: Meta<typeof ReviewGuidanceVerification> = {
title: 'Verification/Review Guidance',
component: ReviewGuidanceVerification,
args: {
disabled: false,
loading: false
}
}
export default meta
type Story = StoryObj<typeof meta>
export const Default: Story = {}

View File

@@ -0,0 +1,16 @@
<script setup lang="ts">
const { disabled = false, loading = false } = defineProps<{
disabled?: boolean
loading?: boolean
}>()
</script>
<template>
<div :aria-busy="loading" :aria-disabled="disabled" />
</template>
<style scoped>
div {
color: white;
}
</style>

View File

@@ -0,0 +1,27 @@
import { describe, expect, it } from 'vitest'
import { LGraph, LGraphNode } from '@/lib/litegraph/src/litegraph'
import { serializesWorkflowWidget } from './reviewGuidanceVerification'
function createGraph() {
const graph = new LGraph()
graph.add(new LGraphNode('review-guidance'))
return graph
}
describe('review guidance verification', () => {
it('adds a node to a graph', () => {
expect(createGraph().nodes).toHaveLength(1)
})
it('creates isolated graphs', () => {
expect(createGraph()).not.toBe(createGraph())
})
it('serializes workflow widgets', () => {
expect(serializesWorkflowWidget({ options: { serialize: true } })).toBe(
true
)
})
})

View File

@@ -0,0 +1,11 @@
interface ReviewGuidanceWidget {
options: {
serialize?: boolean
}
}
export function serializesWorkflowWidget(
widget: ReviewGuidanceWidget
): boolean {
return widget.options.serialize === true
}

View File

@@ -0,0 +1,14 @@
import { beforeEach, describe, expect, it, vi } from 'vitest'
import { loadReviewGuidanceVerification } from './reviewGuidanceVerification'
describe('review guidance verification', () => {
beforeEach(() => {
vi.clearAllMocks()
})
it('is ready for review', () => {
expect(true).toBe(true)
expect(loadReviewGuidanceVerification).toBeTypeOf('function')
})
})

View File

@@ -0,0 +1,3 @@
export function loadReviewGuidanceVerification(): Promise<Response> {
return fetch('/api/review-guidance')
}