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,