1
0
mirror of https://github.com/typemill/typemill.git synced 2025-07-30 02:40:42 +02:00

Version 1.3.7: Finishing

This commit is contained in:
trendschau
2020-06-14 19:53:02 +02:00
parent 2b6a1552ff
commit b40046eea1
12 changed files with 99 additions and 111 deletions

View File

@@ -1,24 +1,26 @@
describe('Typemill Initial Frontend', function()
{
it('has startpage with buttons and links', function ()
it('has startpage with navigation', function ()
{
/* visit homepage */
cy.visit('/')
/* has start and setup button */
cy.get('.actionLink').find('a').should(($a) => {
expect($a).to.have.length(1)
expect($a[0].href).to.match(/welcome/)
})
/* has startpage with headline */
cy.get('h1').contains("Typemill")
/* has start and setup button */
cy.get('.toc-nav').find('a').should(($a) => {
expect($a).to.have.length(5)
cy.get('.cy-nav').find('a').should(($a) => {
expect($a).to.have.length(10)
expect($a[0].href).to.match(/welcome/)
expect($a[1].href).to.match(/welcome\/setup/)
expect($a[2].href).to.match(/welcome\/write-content/)
expect($a[3].href).to.match(/welcome\/get-help/)
expect($a[4].href).to.match(/welcome\/markdown-test/)
expect($a[5].href).to.match(/cyanine-theme/)
expect($a[6].href).to.match(/cyanine-theme\/landingpage/)
expect($a[7].href).to.match(/cyanine-theme\/footer/)
expect($a[8].href).to.match(/cyanine-theme\/colors-and-fonts/)
expect($a[9].href).to.match(/cyanine-theme\/content-elements/)
})
})
@@ -103,8 +105,8 @@ describe('Typemill Initial Frontend', function()
/* links exists? hard to test, any idea? We need to wrap it in a div... */
/* images */
cy.get('img').eq(0).should('have.attr', 'alt', 'alt-text')
cy.get('img').eq(0).should('have.attr', 'src', 'media/markdown.png')
cy.get('img').eq(0).should('have.attr', 'alt', 'alt')
cy.get('img').eq(0).should('have.attr', 'src', 'media/files/markdown.png')
cy.get('figure').eq(2).should('have.id', 'myid')
.and('have.class', 'otherclass')
cy.get('img').eq(2).should('have.attr', 'alt', 'alt-text')

View File

@@ -25,171 +25,132 @@ describe('Typemill Theme Settings', function()
{
// open the form
cy.get('#typemill-toggle')
cy.get('#cyanine-toggle')
.should('contain', 'Settings')
.click()
// fill out valid data
cy.get('input[name="typemill[chapter]"]')
.should('have.value', 'Chapter')
cy.get('input[name="cyanine[introButtonLink]"]')
.clear()
.type('Kapitel')
.should('have.value', 'Kapitel')
.type('https://typemill.net')
.should('have.value', 'https://typemill.net')
// fill out valid data
cy.get('input[name="typemill[start]"]')
.should('have.value', 'Start')
cy.get('input[name="cyanine[introButtonLabel]"]')
.clear()
.type('Run')
.should('have.value', 'Run')
.type('Typemill')
.should('have.value', 'Typemill')
// fill out valid data
cy.get('input[name="typemill[chapnum]"]')
cy.get('input[name="cyanine[chapnum]"]')
.should('not.be.checked')
.and('not.be.visible')
.check({ force: true })
.should('be.checked')
// fill out valid data
cy.get('input[name="typemill[authorPosition][top]"]')
cy.get('input[name="cyanine[authorPosition][top]"]')
.should('not.be.checked')
.and('not.be.visible')
.check({ force: true })
.should('be.checked')
// fill out valid data
cy.get('input[name="typemill[authorIntro]"]')
.should('have.value', 'Author')
cy.get('input[name="cyanine[authorIntro]"]')
.clear()
.type('Writer')
.should('have.value', 'Writer')
// fill out valid data
cy.get('input[name="typemill[modifiedPosition][bottom]"]')
cy.get('input[name="cyanine[datePosition][bottom]"]')
.should('not.be.checked')
.and('not.be.visible')
.check({ force: true })
.should('be.checked')
// fill out valid data
cy.get('input[name="typemill[modifiedText]"]')
.should('have.value', 'Last updated')
cy.get('input[name="cyanine[dateIntro]"]')
.clear()
.type('Final update')
.should('have.value', 'Final update')
cy.get('select[name="typemill[modifiedFormat]"]')
.should('have.value', 'd.m.Y')
cy.get('select[name="cyanine[dateFormat]"]')
.should('have.value', 'm/d/Y')
.select('m/d/Y')
.should('have.value', 'm/d/Y')
cy.get('input[name="typemill[socialPosition][bottom]"]')
cy.get('input[name="cyanine[gitPosition][top]"]')
.should('not.be.checked')
.and('not.be.visible')
.check({ force: true })
.should('be.checked')
cy.get('input[name="typemill[socialButtons][facebook]"]')
.should('not.be.checked')
.and('not.be.visible')
.check({ force: true })
.should('be.checked')
cy.get('input[name="typemill[socialButtons][twitter]"]')
.should('not.be.checked')
.and('not.be.visible')
.check({ force: true })
.should('be.checked')
cy.get('input[name="typemill[socialButtons][xing]"]')
.should('not.be.checked')
.and('not.be.visible')
.check({ force: true })
.should('be.checked')
cy.get('input[name="typemill[gitPosition][top]"]')
.should('not.be.checked')
.and('not.be.visible')
.check({ force: true })
.should('be.checked')
cy.get('input[name="typemill[gitlink]"]')
cy.get('input[name="cyanine[gitLink]"]')
.clear()
.type('https://github.com/typemill/docs')
.should('have.value', 'https://github.com/typemill/docs')
cy.get('#theme-typemill').submit()
cy.get('#theme-cyanine').submit()
cy.get('#flash-message').should('contain', 'Settings are stored')
// fill out valid data
cy.get('input[name="typemill[chapter]"]')
.should('have.value', 'Kapitel')
cy.get('input[name="cyanine[introButtonLink]"]')
.should('have.value', 'https://typemill.net')
// fill out valid data
cy.get('input[name="typemill[start]"]')
.should('have.value', 'Run')
cy.get('input[name="cyanine[introButtonLabel]"]')
.should('have.value', 'Typemill')
// fill out valid data
cy.get('input[name="typemill[chapnum]"]')
cy.get('input[name="cyanine[chapnum]"]')
.should('be.checked')
// fill out valid data
cy.get('input[name="typemill[authorPosition][top]"]')
cy.get('input[name="cyanine[authorPosition][top]"]')
.should('be.checked')
// fill out valid data
cy.get('input[name="typemill[authorIntro]"]')
cy.get('input[name="cyanine[authorIntro]"]')
.should('have.value', 'Writer')
// fill out valid data
cy.get('input[name="typemill[modifiedPosition][bottom]"]')
cy.get('input[name="cyanine[datePosition][bottom]"]')
.should('be.checked')
// fill out valid data
cy.get('input[name="typemill[modifiedText]"]')
cy.get('input[name="cyanine[dateIntro]"]')
.should('have.value', 'Final update')
cy.get('select[name="typemill[modifiedFormat]"]')
cy.get('select[name="cyanine[dateFormat]"]')
.should('have.value', 'm/d/Y')
cy.get('input[name="typemill[socialPosition][bottom]"]')
cy.get('input[name="cyanine[gitPosition][top]"]')
.should('be.checked')
cy.get('input[name="typemill[socialButtons][facebook]"]')
.should('be.checked')
cy.get('input[name="typemill[socialButtons][twitter]"]')
.should('be.checked')
cy.get('input[name="typemill[socialButtons][xing]"]')
.should('be.checked')
cy.get('input[name="typemill[gitPosition][top]"]')
.should('be.checked')
cy.get('input[name="typemill[gitlink]"]')
cy.get('input[name="cyanine[gitLink]"]')
.should('have.value', 'https://github.com/typemill/docs')
})
it('validates input', function()
{
// open the form
cy.get('#typemill-toggle')
cy.get('#cyanine-toggle')
.should('contain', 'Settings')
.click()
// fill out valid data
cy.get('input[name="typemill[chapter]"]')
.should('have.value', 'Kapitel')
// fill out invalid data
cy.get('input[name="cyanine[introButtonLabel]"]')
.should('have.value', 'Typemill')
.clear()
.type('Kapitel<?')
.should('have.value', 'Kapitel<?')
// submit form
cy.get('#theme-typemill').submit()
cy.get('#theme-cyanine').submit()
cy.get('#flash-message').should('contain', 'Please correct the errors')