Skip to content

Commit f9f5fde

Browse files
authored
Merge pull request #78 from hcg1023/feature-test-utils
feat: vue3-dnd-test-utils completed
2 parents f901f12 + 38ea957 commit f9f5fde

File tree

5 files changed

+26
-16
lines changed

5 files changed

+26
-16
lines changed

.changeset/fast-suns-begin.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"vue3-dnd-test-utils": patch
3+
---
4+
5+
feat: vue3-dnd-test-utils completed

packages/test-utils/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@
5555
"droppable",
5656
"drag-and-drop"
5757
],
58+
"dependencies": {
59+
"vue-demi": "^0.14.7"
60+
},
5861
"devDependencies": {
5962
"@swc/cli": "^0.1.57",
6063
"@swc/core": "^1.2.178",
@@ -70,7 +73,7 @@
7073
"vue3-dnd": "workspace:*"
7174
},
7275
"peerDependencies": {
73-
"@testing-library/vue": ">= 8",
76+
"@testing-library/vue": "^8.0.0 || ^5.8.0",
7477
"vue": "^3.0.0-0 || ^2.6.0",
7578
"vue3-dnd": ">=2.1.0"
7679
},

packages/test-utils/src/renderer.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { wrapWithBackend } from './wrappers'
22
import { render, RenderOptions } from '@testing-library/vue'
3-
import { DefineComponent } from 'vue'
3+
import { Component } from 'vue-demi'
44
import { BackendFactory } from 'dnd-core'
55
import { HTML5Backend } from 'react-dnd-html5-backend'
66
import { TestBackend } from 'react-dnd-test-backend'
77

88
export function renderWithBackend(
9-
DecoratedComponent: DefineComponent,
9+
DecoratedComponent: Component,
1010
renderOptions: RenderOptions = {},
1111
Backend: BackendFactory = HTML5Backend,
1212
backendOptions: Record<string, any> = {}
@@ -25,7 +25,7 @@ export function renderWithBackend(
2525
}
2626

2727
export function renderWithTestBackend(
28-
DecoratedComponent: DefineComponent,
28+
DecoratedComponent: Component,
2929
renderOptions: RenderOptions = {},
3030
backendOptions: Record<string, any> = {}
3131
) {

packages/test-utils/src/wrappers.ts

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { h, defineComponent, DefineComponent } from 'vue'
1+
import { h, defineComponent, Component } from 'vue-demi'
22
import {
33
TestBackend,
44
ITestBackend,
@@ -17,9 +17,9 @@ import type { BackendFactory } from 'dnd-core'
1717
* to get the test backend instance.
1818
*/
1919
export function wrapWithTestBackend(
20-
DecoratedComponent: DefineComponent,
20+
DecoratedComponent: Component,
2121
backendOptions?: unknown
22-
): [DefineComponent, () => ITestBackend | undefined] {
22+
): [Component, () => ITestBackend | undefined] {
2323
let backend: ITestBackend | undefined
2424
const opts: TestBackendOptions = Object.assign(
2525
{
@@ -41,19 +41,17 @@ export function wrapWithTestBackend(
4141
* @param backendOptions The optional backend options
4242
*/
4343
export function wrapWithBackend(
44-
DecoratedComponent: DefineComponent,
44+
DecoratedComponent: Component,
4545
Backend: BackendFactory = HTML5Backend,
4646
backendOptions?: unknown
47-
): DefineComponent {
47+
): Component {
4848
return defineComponent({
4949
render() {
50-
return h(
51-
DndProvider,
52-
{ backend: Backend, options: backendOptions },
53-
{
54-
default: () => h(DecoratedComponent, { ...this.$attrs }),
55-
}
56-
)
50+
// @ts-ignore
51+
return h(DndProvider, { backend: Backend, options: backendOptions }, [
52+
// @ts-ignore
53+
h(DecoratedComponent, { ...this.$attrs }),
54+
])
5755
},
5856
})
5957
}

pnpm-lock.yaml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)