From 012170eeebb26195870fd891360c0ac15387fa03 Mon Sep 17 00:00:00 2001 From: neverland Date: Sun, 9 Aug 2026 19:14:26 +0800 Subject: [PATCH] refactor(create-rstack): use Vue Test Utils in templates --- .../create-rstack/template-app-vue-js/package.json | 1 - .../template-app-vue-js/tests/index.test.js | 6 +++--- .../create-rstack/template-app-vue-ts/package.json | 1 - .../template-app-vue-ts/tests/index.test.ts | 6 +++--- .../create-rstack/template-lib-vue-js/package.json | 1 - .../template-lib-vue-js/tests/index.test.js | 11 ++++++----- .../create-rstack/template-lib-vue-ts/package.json | 1 - .../template-lib-vue-ts/tests/index.test.ts | 11 ++++++----- 8 files changed, 18 insertions(+), 20 deletions(-) diff --git a/packages/create-rstack/template-app-vue-js/package.json b/packages/create-rstack/template-app-vue-js/package.json index 4a08b495..7a750762 100644 --- a/packages/create-rstack/template-app-vue-js/package.json +++ b/packages/create-rstack/template-app-vue-js/package.json @@ -20,7 +20,6 @@ "devDependencies": { "@rsbuild/plugin-vue": "^2.0.1", "@testing-library/jest-dom": "^7.0.0", - "@testing-library/vue": "^8.1.0", "@vue/test-utils": "^2.4.11", "happy-dom": "^20.11.1", "rstack": "^0.3.5" diff --git a/packages/create-rstack/template-app-vue-js/tests/index.test.js b/packages/create-rstack/template-app-vue-js/tests/index.test.js index 18b63c69..27ece847 100644 --- a/packages/create-rstack/template-app-vue-js/tests/index.test.js +++ b/packages/create-rstack/template-app-vue-js/tests/index.test.js @@ -1,8 +1,8 @@ import { expect, test } from 'rstack/test'; -import { render, screen } from '@testing-library/vue'; +import { mount } from '@vue/test-utils'; import App from '../src/App.vue'; test('renders the main page', () => { - render(App); - expect(screen.getByText('Rstack with Vue')).toBeInTheDocument(); + const wrapper = mount(App); + expect(wrapper.element).toHaveTextContent('Rstack with Vue'); }); diff --git a/packages/create-rstack/template-app-vue-ts/package.json b/packages/create-rstack/template-app-vue-ts/package.json index dca20892..8d646539 100644 --- a/packages/create-rstack/template-app-vue-ts/package.json +++ b/packages/create-rstack/template-app-vue-ts/package.json @@ -20,7 +20,6 @@ "devDependencies": { "@rsbuild/plugin-vue": "^2.0.1", "@testing-library/jest-dom": "^7.0.0", - "@testing-library/vue": "^8.1.0", "@types/node": "^24.13.3", "@vue/test-utils": "^2.4.11", "happy-dom": "^20.11.1", diff --git a/packages/create-rstack/template-app-vue-ts/tests/index.test.ts b/packages/create-rstack/template-app-vue-ts/tests/index.test.ts index 18b63c69..27ece847 100644 --- a/packages/create-rstack/template-app-vue-ts/tests/index.test.ts +++ b/packages/create-rstack/template-app-vue-ts/tests/index.test.ts @@ -1,8 +1,8 @@ import { expect, test } from 'rstack/test'; -import { render, screen } from '@testing-library/vue'; +import { mount } from '@vue/test-utils'; import App from '../src/App.vue'; test('renders the main page', () => { - render(App); - expect(screen.getByText('Rstack with Vue')).toBeInTheDocument(); + const wrapper = mount(App); + expect(wrapper.element).toHaveTextContent('Rstack with Vue'); }); diff --git a/packages/create-rstack/template-lib-vue-js/package.json b/packages/create-rstack/template-lib-vue-js/package.json index ce84b389..61011866 100644 --- a/packages/create-rstack/template-lib-vue-js/package.json +++ b/packages/create-rstack/template-lib-vue-js/package.json @@ -24,7 +24,6 @@ "devDependencies": { "@rsbuild/plugin-vue": "^2.0.1", "@testing-library/jest-dom": "^7.0.0", - "@testing-library/vue": "^8.1.0", "@vue/test-utils": "^2.4.11", "happy-dom": "^20.11.1", "rstack": "^0.3.5", diff --git a/packages/create-rstack/template-lib-vue-js/tests/index.test.js b/packages/create-rstack/template-lib-vue-js/tests/index.test.js index bdb34a0e..991849c2 100644 --- a/packages/create-rstack/template-lib-vue-js/tests/index.test.js +++ b/packages/create-rstack/template-lib-vue-js/tests/index.test.js @@ -1,16 +1,17 @@ import { expect, test } from 'rstack/test'; -import { render, screen } from '@testing-library/vue'; +import { mount } from '@vue/test-utils'; import Button from '../src/Button.vue'; -test('The button should have correct background color', async () => { - render(Button, { +test('The button should have correct background color', () => { + const wrapper = mount(Button, { + attachTo: document.body, props: { backgroundColor: '#ccc', label: 'Demo Button', }, }); - const button = screen.getByText('Demo Button'); - expect(button).toHaveStyle({ + expect(wrapper.get('button').element).toHaveStyle({ backgroundColor: '#ccc', }); + wrapper.unmount(); }); diff --git a/packages/create-rstack/template-lib-vue-ts/package.json b/packages/create-rstack/template-lib-vue-ts/package.json index ee64669b..04ed6e5d 100644 --- a/packages/create-rstack/template-lib-vue-ts/package.json +++ b/packages/create-rstack/template-lib-vue-ts/package.json @@ -26,7 +26,6 @@ "devDependencies": { "@rsbuild/plugin-vue": "^2.0.1", "@testing-library/jest-dom": "^7.0.0", - "@testing-library/vue": "^8.1.0", "@types/node": "^24.13.3", "@vue/test-utils": "^2.4.11", "happy-dom": "^20.11.1", diff --git a/packages/create-rstack/template-lib-vue-ts/tests/index.test.ts b/packages/create-rstack/template-lib-vue-ts/tests/index.test.ts index bdb34a0e..991849c2 100644 --- a/packages/create-rstack/template-lib-vue-ts/tests/index.test.ts +++ b/packages/create-rstack/template-lib-vue-ts/tests/index.test.ts @@ -1,16 +1,17 @@ import { expect, test } from 'rstack/test'; -import { render, screen } from '@testing-library/vue'; +import { mount } from '@vue/test-utils'; import Button from '../src/Button.vue'; -test('The button should have correct background color', async () => { - render(Button, { +test('The button should have correct background color', () => { + const wrapper = mount(Button, { + attachTo: document.body, props: { backgroundColor: '#ccc', label: 'Demo Button', }, }); - const button = screen.getByText('Demo Button'); - expect(button).toHaveStyle({ + expect(wrapper.get('button').element).toHaveStyle({ backgroundColor: '#ccc', }); + wrapper.unmount(); });