From 97abcb984b0ee76d7c306fc21c9881962f35a0b2 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Wed, 29 Dec 2021 19:34:58 +0300 Subject: [PATCH] fix: incorrect behaviour of toBeDefined with not flag --- packages/vitest/src/integrations/chai/jest-expect.ts | 6 ++++++ test/core/test/jest-expect.test.ts | 3 +++ 2 files changed, 9 insertions(+) diff --git a/packages/vitest/src/integrations/chai/jest-expect.ts b/packages/vitest/src/integrations/chai/jest-expect.ts index e42f3182253e..66e2267fb32b 100644 --- a/packages/vitest/src/integrations/chai/jest-expect.ts +++ b/packages/vitest/src/integrations/chai/jest-expect.ts @@ -194,6 +194,12 @@ export const JestChaiExpect: ChaiPlugin = (chai, utils) => { return this.be.null }) def('toBeDefined', function() { + const negate = utils.flag(this, 'negate') + utils.flag(this, 'negate', false) + + if (negate) + return this.be.undefined + return this.not.be.undefined }) def('toBeInstanceOf', function(obj: any) { diff --git a/test/core/test/jest-expect.test.ts b/test/core/test/jest-expect.test.ts index ad487c2989f4..f5080ccec6af 100644 --- a/test/core/test/jest-expect.test.ts +++ b/test/core/test/jest-expect.test.ts @@ -6,7 +6,10 @@ describe('jest-expect', () => { it('basic', () => { expect(1).toBe(1) expect(null).toBeNull() + expect(1).not.toBeNull() expect(null).toBeDefined() + expect(undefined).not.toBeDefined() + expect(undefined).toBeUndefined() expect(null).not.toBeUndefined() expect([]).toBeTruthy() expect(0).toBeFalsy()