declare namespace Cypress { interface Chainable { loadConfig ( ) : Chainable < Window > ; } } export const branding = { name : 'DEMO Corp' , logo : '/mock-backend/public/img/demo.png' } ; export const authProviders = { facebook : true , github : true , twitter : true , gitlab : true , dropbox : true , ldap : true , google : true , saml : true , oauth2 : true , local : true } ; export const config = { allowAnonymous : true , authProviders : authProviders , branding : branding , customAuthNames : { ldap : 'FooBar' , oauth2 : 'Olaf2' , saml : 'aufSAMLn.de' } , maxDocumentLength : 200 , specialUrls : { privacy : 'https://example.com/privacy' , termsOfUse : 'https://example.com/termsOfUse' , imprint : 'https://example.com/imprint' } , plantumlServer : 'http://mock-plantuml.local' , version : { version : 'mock' , sourceCodeUrl : 'https://www.youtube.com/watch?v=dQw4w9WgXcQ' , issueTrackerUrl : 'https://www.youtube.com/watch?v=dQw4w9WgXcQ' } , iframeCommunication : { editorOrigin : 'http://127.0.0.1:3001/' , rendererOrigin : 'http://127.0.0.1:3001/' } } ; Cypress . Commands . add ( 'loadConfig' , ( additionalConfig ? ) => { return cy . intercept ( '/mock-backend/api/private/config' , { statusCode : 200 , body : { ... config , ... additionalConfig } } ) ; } ) ; beforeEach ( ( ) => { cy . loadConfig ( ) ; cy . intercept ( 'GET' , '/mock-backend/public/motd.txt' , { body : '404 Not Found!' , statusCode : 404 } ) ; cy . intercept ( 'HEAD' , '/mock-backend/public/motd.txt' , { statusCode : 404 } ) ; } ) ;