Added Integration testing (#13)

* Added cypress testing

* Added recording

* cleaned npm scrips
pull/12/merge
Jonathan 2018-03-13 08:13:49 +01:00 committed by Bálint Szekeres
parent 6ff1b0eb71
commit b72673ffe7
10 changed files with 3627 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
node_modules
cypress/videos

View File

@ -14,3 +14,15 @@ deploy:
branch: master
provider: script
script: ssh -q -l root nginxconfig.io "sudo -u www-data -H sh -c 'cd /var/www/nginxconfig.io; git reset --hard && git pull origin master && find . -type f -name '*.html' -exec sed -i -e \"s/COMMIT_HASH/$TRAVIS_COMMIT/\" {} \;'"
node_js:
- 6
cache:
directories:
- ~/.npm
- node_modules
install:
- npm install
script:
- npm run test

4
cypress.json Normal file
View File

@ -0,0 +1,4 @@
{
"projectId": "hmbpea",
"videoRecording": false
}

View File

@ -0,0 +1,2 @@
{
}

View File

@ -0,0 +1,21 @@
const path = require('path')
const root = 'http://localhost:8080'
describe('nginx.config.io', function () {
beforeEach(function () {
cy.visit(root)
})
it('<title> is correct', function () {
// https://on.cypress.io/visit
cy.title().should('include', 'nginxconfig.io')
})
it('should use passed params', function () {
cy.visit(root + '?domain=mydomain.fr')
cy.get('input.domain').should('have.value', 'mydomain.fr')
cy.get('#file-nginx').contains('server_name mydomain.fr;')
})
})

17
cypress/plugins/index.js Normal file
View File

@ -0,0 +1,17 @@
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
}

View File

@ -0,0 +1,25 @@
// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
// existing commands.
//
// For more comprehensive examples of custom
// commands please read more here:
// https://on.cypress.io/custom-commands
// ***********************************************
//
//
// -- This is a parent command --
// Cypress.Commands.add("login", (email, password) => { ... })
//
//
// -- This is a child command --
// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... })
//
//
// -- This is a dual command --
// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... })
//
//
// -- This is will overwrite an existing command --
// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })

20
cypress/support/index.js Normal file
View File

@ -0,0 +1,20 @@
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands'
// Alternatively you can use CommonJS syntax:
// require('./commands')

3497
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

27
package.json Normal file
View File

@ -0,0 +1,27 @@
{
"name": "nginxconfig.io",
"version": "1.0.0",
"description": "[![nginxconfig.io](public/assets/img/share.png)](https://nginxconfig.io)",
"main": "index.js",
"scripts": {
"dev": "forever start ./node_modules/.bin/http-server && cypress open && forever stop ./node_modules/.bin/http-server",
"test": "forever start ./node_modules/.bin/http-server && cypress run --record && forever stop ./node_modules/.bin/http-server"
},
"repository": {
"type": "git",
"url": "git+https://github.com/valentinxxx/nginxconfig.io.git"
},
"keywords": [],
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/valentinxxx/nginxconfig.io/issues"
},
"homepage": "https://github.com/valentinxxx/nginxconfig.io#readme",
"dependencies": {},
"devDependencies": {
"cypress": "^2.1.0",
"forever": "^0.15.3",
"http-server": "^0.11.1"
}
}