feat: Use vitest instead of jest, run all the specs anywhere in app/ folder in the CI (#9722)

Due to the pattern `**/specs/*.spec.js` defined in CircleCI, none of the
frontend spec in the folders such as
`specs/<domain-name>/getters.spec.js` were not executed in Circle CI.

This PR fixes the issue, along with the following changes: 
- Use vitest instead of jest
- Remove jest dependancies
- Update tests to work with vitest

---------

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
This commit is contained in:
Pranav
2024-07-10 08:32:16 -07:00
committed by GitHub
parent 9498d1f003
commit 9de8c27368
140 changed files with 1678 additions and 2810 deletions

View File

@@ -3,18 +3,21 @@ import { clearBrowserSessionCookies } from 'dashboard/store/utils/api';
import { replaceRouteWithReload } from '../CommonHelper';
import Cookies from 'js-cookie';
const next = jest.fn();
jest.mock('dashboard/store/utils/api', () => ({
clearBrowserSessionCookies: jest.fn(),
const next = vi.fn();
vi.mock('dashboard/store/utils/api', () => ({
clearBrowserSessionCookies: vi.fn(),
}));
jest.mock('../CommonHelper', () => ({ replaceRouteWithReload: jest.fn() }));
vi.mock('../CommonHelper', () => ({ replaceRouteWithReload: vi.fn() }));
jest.mock('js-cookie', () => ({
get: jest.fn(),
}));
Cookies.get.mockReturnValueOnce(true).mockReturnValue(false);
describe('#validateRouteAccess', () => {
beforeEach(() => {
vi.spyOn(Cookies, 'set');
});
afterEach(() => {
vi.restoreAllMocks();
});
it('reset cookies and continues to the login page if the SSO parameters are present', () => {
validateRouteAccess(
{
@@ -40,7 +43,8 @@ describe('#validateRouteAccess', () => {
});
it('redirects to dashboard if auth cookie is present', () => {
Cookies.get.mockImplementation(() => true);
vi.spyOn(Cookies, 'get').mockReturnValueOnce(true);
validateRouteAccess({ name: 'login' }, next);
expect(clearBrowserSessionCookies).not.toHaveBeenCalled();
expect(replaceRouteWithReload).toHaveBeenCalledWith('/app/');