0177355242
* fix: add warnings - invalid watch handler path - attempting to mutate readonly computed value - attempt of mutating public property - attempt of mutating prop * fix: more descriptive warnings + details * fix: test apiOptions warnings * fix: update warning in componentProxy * fix: update warnings in componentProxy & apiOptions * fix: update warning in componentProxy * fix: implemented tests for componentProxy * fix: remove comment + small refactor
41 lines
972 B
TypeScript
41 lines
972 B
TypeScript
import { createApp, nodeOps, mockWarn } from '@vue/runtime-test'
|
|
|
|
const createTestInstance = (props?: any) => {
|
|
const component = {
|
|
render() {}
|
|
}
|
|
const root = nodeOps.createElement('div')
|
|
return createApp().mount(component, root, props)
|
|
}
|
|
|
|
describe('component proxy', () => {
|
|
describe('warnings', () => {
|
|
mockWarn()
|
|
|
|
test('Attempting to mutate public property', () => {
|
|
const app = createTestInstance()
|
|
|
|
try {
|
|
app.$props = { foo: 'bar' }
|
|
} catch {
|
|
expect(
|
|
'Attempting to mutate public property "$props". ' +
|
|
'Properties starting with $ are reserved and readonly.'
|
|
).toHaveBeenWarned()
|
|
}
|
|
})
|
|
|
|
test('Attempting to mutate prop', () => {
|
|
const app = createTestInstance({ foo: 'foo' })
|
|
|
|
try {
|
|
app.foo = 'bar'
|
|
} catch {
|
|
expect(
|
|
'Attempting to mutate prop "foo". Props are readonly.'
|
|
).toHaveBeenWarned()
|
|
}
|
|
})
|
|
})
|
|
})
|