mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-13 22:54:42 -04:00

* Use document base uri for react router Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Rename getAndSetUser to fetchAndSetUser Getter should be reserved for simple get functions. Everything that does a bit more logic should use a more meaningful verb. Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Rename getFrontPageContent to fetchFrontPageContent Getter should be reserved for simple get functions. Everything that does a bit more logic should use a more meaningful verb. Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Reformat code Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Use PUBLIC_URL env var in index.html Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Introduce new environment variables For better testing (especially if you have multiple endpoints) this commit introduces REACT_APP_BACKEND_BASE_URL, REACT_APP_FRONTEND_ASSETS_URL and REACT_APP_CUSTOMIZE_ASSETS_URL Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Remove redundant license information Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Remove redundant license information Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Fix rebase issues Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Remove unused file Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Correct parameter Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Fix run tasks Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Force use of bash Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Fix link to cypress picture Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * revert change Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * fix url Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Remove license info Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Revert rebase issues Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Add missing banner code Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Fix test url Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Useless change to trigger github Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> * Don't set backend base url because this break the mock mode detection Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de> Co-authored-by: Philip Molares <philip.molares@udo.edu>
113 lines
3.1 KiB
TypeScript
113 lines
3.1 KiB
TypeScript
/*
|
|
* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
const authProvidersDisabled = {
|
|
facebook: false,
|
|
github: false,
|
|
twitter: false,
|
|
gitlab: false,
|
|
dropbox: false,
|
|
ldap: false,
|
|
google: false,
|
|
saml: false,
|
|
oauth2: false,
|
|
internal: false,
|
|
openid: false
|
|
}
|
|
|
|
const initLoggedOutTestWithCustomAuthProviders = (cy: Cypress.cy, enabledProviders: Partial<typeof authProvidersDisabled>) => {
|
|
cy.loadConfig({
|
|
authProviders: {
|
|
...authProvidersDisabled,
|
|
...enabledProviders
|
|
}
|
|
})
|
|
cy.visit('/')
|
|
cy.logout()
|
|
}
|
|
|
|
describe('When logged-in, ', () => {
|
|
it('sign-in button is hidden', () => {
|
|
cy.visit('/')
|
|
cy.get('[data-cy=sign-in-button]')
|
|
.should('not.exist')
|
|
})
|
|
})
|
|
|
|
describe('When logged-out ', () => {
|
|
describe('and no auth-provider is enabled, ', () => {
|
|
it('sign-in button is hidden', () => {
|
|
initLoggedOutTestWithCustomAuthProviders(cy, {})
|
|
cy.get('[data-cy=sign-in-button]')
|
|
.should('not.exist')
|
|
})
|
|
})
|
|
|
|
describe('and an interactive auth-provider is enabled, ', () => {
|
|
it('sign-in button points to login route: internal', () => {
|
|
initLoggedOutTestWithCustomAuthProviders(cy, {
|
|
internal: true
|
|
})
|
|
cy.get('[data-cy=sign-in-button]')
|
|
.should('be.visible')
|
|
.should('have.attr', 'href', '/login')
|
|
})
|
|
|
|
it('sign-in button points to login route: ldap', () => {
|
|
initLoggedOutTestWithCustomAuthProviders(cy, {
|
|
ldap: true
|
|
})
|
|
cy.get('[data-cy=sign-in-button]')
|
|
.should('be.visible')
|
|
.should('have.attr', 'href', '/login')
|
|
})
|
|
|
|
it('sign-in button points to login route: openid', () => {
|
|
initLoggedOutTestWithCustomAuthProviders(cy, {
|
|
openid: true
|
|
})
|
|
cy.get('[data-cy=sign-in-button]')
|
|
.should('be.visible')
|
|
.should('have.attr', 'href', '/login')
|
|
})
|
|
})
|
|
|
|
describe('and only one one-click auth-provider is enabled, ', () => {
|
|
it('sign-in button points to auth-provider', () => {
|
|
initLoggedOutTestWithCustomAuthProviders(cy, {
|
|
saml: true
|
|
})
|
|
cy.get('[data-cy=sign-in-button]')
|
|
.should('be.visible')
|
|
// The absolute URL is used because it is defined as API base URL absolute.
|
|
.should('have.attr', 'href', '/mock-backend/api/private/auth/saml')
|
|
})
|
|
})
|
|
|
|
describe('and multiple one-click auth-providers are enabled, ', () => {
|
|
it('sign-in button points to login route', () => {
|
|
initLoggedOutTestWithCustomAuthProviders(cy, {
|
|
saml: true,
|
|
github: true
|
|
})
|
|
cy.get('[data-cy=sign-in-button]')
|
|
.should('be.visible')
|
|
.should('have.attr', 'href', '/login')
|
|
})
|
|
})
|
|
|
|
describe('and one-click- as well as interactive auth-providers are enabled, ', () => {
|
|
it('sign-in button points to login route', () => {
|
|
initLoggedOutTestWithCustomAuthProviders(cy, {
|
|
saml: true,
|
|
internal: true
|
|
})
|
|
cy.get('[data-cy=sign-in-button]')
|
|
.should('be.visible')
|
|
.should('have.attr', 'href', '/login')
|
|
})
|
|
})
|
|
})
|