ReferenceError for mocked modules in Vitest

22 Views Asked by At

I am just getting started with Vitest in a Nuxt app with Nitro and stuggling to getting the mocking right it seems as I keep getting ReferenceErrors.

My spec aims at testing a module in the /server folder, i.e a Nitro module.

import { getCompanyB2BIdByUserFirebaseId } from "../../server/helpers/company.helper";

// more imports

vi.mock("../../server/helpers/company.helper", () => ({
  getCompanyB2BIdByUserFirebaseId: vi.fn(),
}));

However, when running my test like so:

test("xxx", async () => {
    const fakeCompany = fakeCompanyComplete();

    vi.mocked(getCompanyB2BIdByUserFirebaseId).mockResolvedValueOnce(
      fakeCompany
    );
    // the rest comes here
  });
});

I am getting this error:

ReferenceError: getCompanyB2BIdByUserFirebaseId is not defined

I also tried the following as per the docs (https://vitest.dev/api/vi.html#vi-mocked):

import * as company from "../../server/helpers/company.helper";
// more imports

vi.mock("../../server/helpers/company.helper");

// describe/test etc.
const fakeCompany = {}
vi.mocked(company.getCompanyB2BIdByUserFirebaseId).mockResolvedValueOnce(fakeCompany);

And also tried this syntax:

vi.fn(getCompanyB2BIdByUserFirebaseId)

But no luck either.

I am still getting the same

ReferenceError: getCompanyB2BIdByUserFirebaseId is not defined.

What am I missing?

Thanks,

0

There are 0 best solutions below