Skip to content

Commit 5da578c

Browse files
committed
More reusable types
1 parent d18813b commit 5da578c

2 files changed

Lines changed: 144 additions & 87 deletions

File tree

test-types/mocha/types-mocha.test.ts

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import type { ChainablePromiseElement, ChainablePromiseArray } from 'webdriverio
55

66
describe('type assertions', () => {
77
const element: WebdriverIO.Element = {} as unknown as WebdriverIO.Element
8+
const elementArray: WebdriverIO.ElementArray = [] as unknown as WebdriverIO.ElementArray
89
const chainableElement = {} as unknown as ChainablePromiseElement
910
const chainableArray = {} as ChainablePromiseArray
1011
const networkMock: WebdriverIO.Mock = {} as unknown as WebdriverIO.Mock
@@ -95,6 +96,10 @@ describe('type assertions', () => {
9596
expectPromiseVoid = expect(element).toBeDisabled()
9697
expectPromiseVoid = expect(element).not.toBeDisabled()
9798

99+
// Element array
100+
expectPromiseVoid = expect(elementArray).toBeDisabled()
101+
expectPromiseVoid = expect(elementArray).not.toBeDisabled()
102+
98103
// Chainable element
99104
expectPromiseVoid = expect(chainableElement).toBeDisabled()
100105
expectPromiseVoid = expect(chainableElement).not.toBeDisabled()
@@ -137,6 +142,48 @@ describe('type assertions', () => {
137142
// @ts-expect-error
138143
await expect(element).toHaveText(6)
139144

145+
expectPromiseVoid = expect(chainableElement).toHaveText('text')
146+
expectPromiseVoid = expect(chainableElement).toHaveText(/text/)
147+
expectPromiseVoid = expect(chainableElement).toHaveText(['text1', 'text2'])
148+
expectPromiseVoid = expect(chainableElement).toHaveText([expect.stringContaining('text1'), expect.stringContaining('text2')])
149+
expectPromiseVoid = expect(chainableElement).toHaveText([/text1/, /text2/])
150+
expectPromiseVoid = expect(chainableElement).toHaveText(['text1', /text1/, expect.stringContaining('text3')])
151+
152+
expectPromiseVoid = expect(chainableElement).not.toHaveText('text')
153+
154+
// @ts-expect-error
155+
expectVoid = expect(chainableElement).toHaveText('text')
156+
// @ts-expect-error
157+
await expect(chainableElement).toHaveText(6)
158+
159+
expectPromiseVoid = expect(elementArray).toHaveText('text')
160+
expectPromiseVoid = expect(elementArray).toHaveText(/text/)
161+
expectPromiseVoid = expect(elementArray).toHaveText(['text1', 'text2'])
162+
expectPromiseVoid = expect(elementArray).toHaveText([expect.stringContaining('text1'), expect.stringContaining('text2')])
163+
expectPromiseVoid = expect(elementArray).toHaveText([/text1/, /text2/])
164+
expectPromiseVoid = expect(elementArray).toHaveText(['text1', /text1/, expect.stringContaining('text3')])
165+
166+
expectPromiseVoid = expect(elementArray).not.toHaveText('text')
167+
168+
// @ts-expect-error
169+
expectVoid = expect(elementArray).toHaveText('text')
170+
// @ts-expect-error
171+
await expect(elementArray).toHaveText(6)
172+
173+
expectPromiseVoid = expect(chainableArray).toHaveText('text')
174+
expectPromiseVoid = expect(chainableArray).toHaveText(/text/)
175+
expectPromiseVoid = expect(chainableArray).toHaveText(['text1', 'text2'])
176+
expectPromiseVoid = expect(chainableArray).toHaveText([expect.stringContaining('text1'), expect.stringContaining('text2')])
177+
expectPromiseVoid = expect(chainableArray).toHaveText([/text1/, /text2/])
178+
expectPromiseVoid = expect(chainableArray).toHaveText(['text1', /text1/, expect.stringContaining('text3')])
179+
180+
expectPromiseVoid = expect(chainableArray).not.toHaveText('text')
181+
182+
// @ts-expect-error
183+
expectVoid = expect(chainableArray).toHaveText('text')
184+
// @ts-expect-error
185+
await expect(chainableArray).toHaveText(6)
186+
140187
// @ts-expect-error
141188
await expect(browser).toHaveText('text')
142189
})

0 commit comments

Comments
 (0)