mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-14 15:14:56 -04:00
added e2e tests (#298)
- added e2e tests for - banner - history - intro - language - link - added e2e workflow - added cypress badge to README
This commit is contained in:
parent
1a5d4f6db8
commit
f0fe7f5ac2
26 changed files with 1332 additions and 77 deletions
165
cypress/integration/link.spec.ts
Normal file
165
cypress/integration/link.spec.ts
Normal file
|
@ -0,0 +1,165 @@
|
|||
import '../support/index'
|
||||
|
||||
describe('Links Intro', () => {
|
||||
beforeEach(() => {
|
||||
cy.visit('/')
|
||||
})
|
||||
|
||||
describe('Cover Buttons', () => {
|
||||
beforeEach(() => {
|
||||
cy.logout()
|
||||
})
|
||||
|
||||
it('Sign in Cover Button', () => {
|
||||
cy.get('.cover-button.btn-success')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/login')
|
||||
})
|
||||
|
||||
it('Features Cover Button', () => {
|
||||
cy.get('.cover-button.btn-primary')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/features')
|
||||
})
|
||||
})
|
||||
|
||||
it('History', () => {
|
||||
cy.get('#navLinkHistory')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/history')
|
||||
cy.get('#navLinkIntro')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/intro')
|
||||
})
|
||||
|
||||
describe('Menu Buttons logged out', () => {
|
||||
beforeEach(() => {
|
||||
cy.logout()
|
||||
})
|
||||
|
||||
it('New guest note', () => {
|
||||
cy.get('.d-inline-flex.btn-primary')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/new')
|
||||
})
|
||||
|
||||
it('Sign In', () => {
|
||||
cy.get('.btn-success.btn-sm')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/login')
|
||||
})
|
||||
})
|
||||
|
||||
describe('Menu Buttons logged in', () => {
|
||||
it('New note', () => {
|
||||
cy.get('.d-inline-flex.btn-primary').click()
|
||||
cy.url()
|
||||
.should('include', '/new')
|
||||
})
|
||||
|
||||
describe('User Menu', () => {
|
||||
beforeEach(() => {
|
||||
cy.get('#dropdown-user').click()
|
||||
})
|
||||
|
||||
it('Features', () => {
|
||||
cy.get('a.dropdown-item > i.fa-bolt')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/features')
|
||||
})
|
||||
|
||||
it('Features', () => {
|
||||
cy.get('a.dropdown-item > i.fa-user')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/profile')
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('Feature Links', () => {
|
||||
it('Share-Notes', () => {
|
||||
cy.get('i.fa-bolt.fa-3x')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/features#Share-Notes')
|
||||
})
|
||||
|
||||
it('MathJax', () => {
|
||||
cy.get('i.fa-bar-chart.fa-3x')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/features#MathJax')
|
||||
})
|
||||
|
||||
it('Slide-Mode', () => {
|
||||
cy.get('i.fa-television.fa-3x')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/features#Slide-Mode')
|
||||
})
|
||||
})
|
||||
|
||||
describe('Powered By Links', () => {
|
||||
it('CodiMD', () => {
|
||||
cy.get('a[href="https://codimd.org"]')
|
||||
.checkExternalLink('https://codimd.org')
|
||||
})
|
||||
|
||||
it('Releases', () => {
|
||||
cy.get('a[href*="/n/release-notes"]')
|
||||
.click()
|
||||
cy.url()
|
||||
.should('include', '/n/release-notes')
|
||||
})
|
||||
|
||||
it('Privacy', () => {
|
||||
cy.get('a[href="https://example.com/privacy"]')
|
||||
.checkExternalLink('https://example.com/privacy')
|
||||
})
|
||||
|
||||
it('TermsOfUse', () => {
|
||||
cy.get('a[href="https://example.com/termsOfUse"]')
|
||||
.checkExternalLink('https://example.com/termsOfUse')
|
||||
})
|
||||
|
||||
it('Imprint', () => {
|
||||
cy.get('a[href="https://example.com/imprint"]')
|
||||
.checkExternalLink('https://example.com/imprint')
|
||||
})
|
||||
})
|
||||
|
||||
describe('Follow us Links', () => {
|
||||
it('Github', () => {
|
||||
cy.get('a[href="https://github.com/codimd/server"]')
|
||||
.checkExternalLink('https://github.com/codimd/server')
|
||||
})
|
||||
|
||||
it('Discourse', () => {
|
||||
cy.get('a[href="https://community.codimd.org"]')
|
||||
.checkExternalLink('https://community.codimd.org')
|
||||
})
|
||||
|
||||
it('Matrix', () => {
|
||||
cy.get('a[href="https://riot.im/app/#/room/#codimd:matrix.org"]')
|
||||
.checkExternalLink('https://riot.im/app/#/room/#codimd:matrix.org')
|
||||
})
|
||||
|
||||
it('Mastodon', () => {
|
||||
cy.get('a[href="https://social.codimd.org/mastodon"]')
|
||||
.checkExternalLink('https://social.codimd.org/mastodon')
|
||||
})
|
||||
|
||||
it('POEditor', () => {
|
||||
cy.get('a[href="https://translate.codimd.org"]')
|
||||
.checkExternalLink('https://translate.codimd.org')
|
||||
})
|
||||
})
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue