-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Closed
Labels
Description
Describe the bug
When trying to use the new decorators, the context always comes as undefined and therefore the test fails when validating if the context.kind is the string 'class'.
Reproduction
Decorator and decorated class mock.ts
function exampleDecorator(ClassExample: any, context:ClassDecoratorContext):any {
if(context.kind !== 'class') throw new Error('not a class to decorate')
return function(...args: any[]):any {
return new ClassExample(...args)
}
}
@exampleDecorator
class Sut {}spect.ts
import { describe, expect, it } from "vitest";
import { Sut } from './mock'
describe('module.factory.ts', () => {
it('should be define a base module', () => {
expect(Sut).toBeDefined()
})
})Vitest Output
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯Failed Suites 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
FAIL src/core/module/factories/example.spec.ts [ src/core/module/factories/example.spec.ts ]
TypeError: Cannot read properties of undefined (reading 'kind')
❯ exampleDecorator src/core/module/factories/mock.ts:2:16
1| function exampleDecorator(ClassExample: any, context:ClassDecoratorContext):any {
2| if(context.kind !== 'class') throw new Error('not a class to decorate')
| ^
3| return function(...args: any[]):any {
4| return new ClassExample(...args)
❯ __decorateClass src/core/module/factories/mock.ts:7:57
❯ src/core/module/factories/mock.ts:9:8
❯ src/core/module/factories/example.spec.ts:3:31System Info
System:
OS: Linux 6.2 Pop!_OS 22.04 LTS
CPU: (8) x64 11th Gen Intel(R) Core(TM) i5-11300H @ 3.10GHz
Memory: 5.63 GB / 15.40 GB
Container: Yes
Shell: 5.8.1 - /usr/bin/zsh
Binaries:
Node: 18.15.0 - ~/.nvm/versions/node/v18.15.0/bin/node
Yarn: 1.22.19 - ~/.nvm/versions/node/v18.15.0/bin/yarn
npm: 9.5.0 - ~/.nvm/versions/node/v18.15.0/bin/npm
Browsers:
Chrome: 111.0.5563.146
Firefox: 111.0.1
npmPackages:
vitest: ^0.29.8 => 0.29.8Used Package Manager
yarn
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- The provided reproduction is a minimal reproducible example of the bug.
Reactions are currently unavailable