0
0
Fork 0

Merge pull request 'warmFix: Revert previous commit e57a253c6f649382da187d1129449d265fb26d3b' (!930) from revert_warning_inject into dev

Reviewed-on: verdnatura/salix-front#930
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
This commit is contained in:
Alex Moreno 2024-11-14 10:28:37 +00:00
commit e0e03526af
5 changed files with 29 additions and 57 deletions

View File

@ -4,8 +4,9 @@ import { Router } from 'src/router';
import useNotify from 'src/composables/useNotify.js'; import useNotify from 'src/composables/useNotify.js';
import { useStateQueryStore } from 'src/stores/useStateQueryStore'; import { useStateQueryStore } from 'src/stores/useStateQueryStore';
let session, notify, stateQuery; const session = useSession();
const { notify } = useNotify();
const stateQuery = useStateQueryStore();
const baseUrl = '/api/'; const baseUrl = '/api/';
axios.defaults.baseURL = baseUrl; axios.defaults.baseURL = baseUrl;
@ -50,15 +51,9 @@ const onResponseError = (error) => {
return Promise.reject(error); return Promise.reject(error);
}; };
export function setupAxios() {
session = useSession();
notify = useNotify().notify;
stateQuery = useStateQueryStore();
axios.interceptors.request.use(onRequest, onRequestError); axios.interceptors.request.use(onRequest, onRequestError);
axios.interceptors.response.use(onResponse, onResponseError); axios.interceptors.response.use(onResponse, onResponseError);
axiosNoError.interceptors.request.use(onRequest); axiosNoError.interceptors.request.use(onRequest);
axiosNoError.interceptors.response.use(onResponse); axiosNoError.interceptors.response.use(onResponse);
}
export { onRequest, onResponseError, axiosNoError }; export { onRequest, onResponseError, axiosNoError };

View File

@ -1,7 +1,6 @@
import { boot } from 'quasar/wrappers'; import { boot } from 'quasar/wrappers';
import qFormMixin from './qformMixin'; import qFormMixin from './qformMixin';
import keyShortcut from './keyShortcut'; import keyShortcut from './keyShortcut';
import { setupAxios } from 'src/boot/axios';
import useNotify from 'src/composables/useNotify.js'; import useNotify from 'src/composables/useNotify.js';
import { CanceledError } from 'axios'; import { CanceledError } from 'axios';
@ -49,5 +48,4 @@ export default boot(({ app }) => {
notify(message ?? 'globals.error', 'negative', 'error'); notify(message ?? 'globals.error', 'negative', 'error');
}; };
setupAxios();
}); });

View File

@ -8,13 +8,9 @@ import useNotify from './useNotify';
import { useTokenConfig } from './useTokenConfig'; import { useTokenConfig } from './useTokenConfig';
const TOKEN_MULTIMEDIA = 'tokenMultimedia'; const TOKEN_MULTIMEDIA = 'tokenMultimedia';
const TOKEN = 'token'; const TOKEN = 'token';
let router;
export default {
setup() {
router = useRouter();
},
};
export function useSession() { export function useSession() {
const router = useRouter();
const { notify } = useNotify(); const { notify } = useNotify();
let isCheckingToken = false; let isCheckingToken = false;
let intervalId = null; let intervalId = null;

View File

@ -14,8 +14,8 @@ import { useUserConfig } from 'src/composables/useUserConfig';
import { useTokenConfig } from 'src/composables/useTokenConfig'; import { useTokenConfig } from 'src/composables/useTokenConfig';
import { useAcl } from 'src/composables/useAcl'; import { useAcl } from 'src/composables/useAcl';
let state, session; const state = useState();
const session = useSession();
const { t, te } = i18n.global; const { t, te } = i18n.global;
const createHistory = process.env.SERVER const createHistory = process.env.SERVER
@ -43,10 +43,8 @@ const Router = createRouter({
* with the Router instance. * with the Router instance.
*/ */
export { Router }; export { Router };
export default route((/* { store, ssrContext } */) => { export default route(function (/* { store, ssrContext } */) {
Router.beforeEach(async (to, from, next) => { Router.beforeEach(async (to, from, next) => {
state = useState();
session = useSession();
const { isLoggedIn } = session; const { isLoggedIn } = session;
const outLayout = Router.options.routes[0].children.map((r) => r.name); const outLayout = Router.options.routes[0].children.map((r) => r.name);
if (!isLoggedIn() && !outLayout.includes(to.name)) { if (!isLoggedIn() && !outLayout.includes(to.name)) {

View File

@ -1,38 +1,23 @@
import { describe, it, expect, beforeEach, vi } from 'vitest'; import { Notify } from 'quasar';
import { setupAxios, onRequest, onResponseError } from 'src/boot/axios'; import { onRequest, onResponseError } from 'src/boot/axios';
import { useSession } from 'src/composables/useSession'; import { describe, expect, it, vi } from 'vitest';
import useNotify from 'src/composables/useNotify';
import { useStateQueryStore } from 'src/stores/useStateQueryStore';
vi.mock('src/composables/useSession'); vi.mock('src/composables/useSession', () => ({
vi.mock('src/composables/useNotify'); useSession: () => ({
vi.mock('src/stores/useStateQueryStore'); getToken: () => 'DEFAULT_TOKEN',
isLoggedIn: () => vi.fn(),
destroy: () => vi.fn(),
}),
}));
vi.mock('src/stores/useStateQueryStore', () => ({
useStateQueryStore: () => ({
add: () => vi.fn(),
remove: () => vi.fn(),
}),
}));
describe('Axios boot', () => { describe('Axios boot', () => {
let sessionMock, notifyMock, stateQueryMock;
beforeEach(() => {
sessionMock = {
getToken: vi.fn().mockReturnValue('DEFAULT_TOKEN'),
isLoggedIn: vi.fn().mockReturnValue(true),
destroy: vi.fn(),
};
notifyMock = {
notify: vi.fn(),
};
stateQueryMock = {
add: vi.fn(),
remove: vi.fn(),
};
useSession.mockReturnValue(sessionMock);
useNotify.mockReturnValue(notifyMock);
useStateQueryStore.mockReturnValue(stateQueryMock);
setupAxios();
});
describe('onRequest()', async () => { describe('onRequest()', async () => {
it('should set the "Authorization" property on the headers', async () => { it('should set the "Authorization" property on the headers', async () => {
const config = { headers: {} }; const config = { headers: {} };