import {CyHttpMessages, RouteHandler} from 'cypress/types/net-stubbing'; function parseUrl(url: string) { return `http://*${ url.indexOf('/') === 0 ? '' : '/' }${url}${ url.includes('*') ? '' : '*' }`; } export function normalIntercept( url: string, fixture: string, options?: Omit, ) { return cy.intercept( parseUrl(url), {fixture, ...(options ?? {})}, ); } export function successIntercept(url: string) { return normalIntercept( url, 'success', {delay: 100}, ); } export function intercept( url: string, response: (e: CyHttpMessages.IncomingHttpRequest) => void, ) { cy.intercept( parseUrl(url), response, ); } export function loginSetup() { cy.visit('/'); cy.get('input[name="accountName"]').type('admin'); cy.get('input[name="accountPassword"]').type('tld123'); cy.getTestId('login_form').submit(); } export function loginIntercept() { normalIntercept('/user/login', 'login').as('loginIntercept'); } export function menuIntercept() { normalIntercept('/menu/getUserMenu', 'menu/basic') .as('menuIntercept'); } export function optionsIntercept() { normalIntercept('/role/roleBefore', 'role/options'); normalIntercept('/department/getDepartBefor', 'department/options'); normalIntercept('/storage/getStorageAll', 'storage/options'); }