Written a very simple e2e-test with cypress
authorKai Moritz <kai@juplo.de>
Fri, 8 May 2020 13:30:10 +0000 (15:30 +0200)
committerKai Moritz <kai@juplo.de>
Fri, 8 May 2020 13:30:10 +0000 (15:30 +0200)
cypress.json [new file with mode: 0644]
cypress/fixtures/example.json [new file with mode: 0644]
cypress/integration/heroes-spec.ts [new file with mode: 0644]
cypress/plugins/index.js [new file with mode: 0644]
cypress/support/commands.js [new file with mode: 0644]
cypress/support/index.js [new file with mode: 0644]

diff --git a/cypress.json b/cypress.json
new file mode 100644 (file)
index 0000000..fce87bf
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "baseUrl": "http://localhost:4200"
+}
diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json
new file mode 100644 (file)
index 0000000..da18d93
--- /dev/null
@@ -0,0 +1,5 @@
+{
+  "name": "Using fixtures to represent data",
+  "email": "hello@cypress.io",
+  "body": "Fixtures are a great way to mock data for responses to routes"
+}
\ No newline at end of file
diff --git a/cypress/integration/heroes-spec.ts b/cypress/integration/heroes-spec.ts
new file mode 100644 (file)
index 0000000..a5158c3
--- /dev/null
@@ -0,0 +1,7 @@
+describe('The Home Page', () => {
+  it('successfully loads', () => {
+    cy.visit('/');
+    cy.get('app-root nav a').click();
+    cy.url().should('include', '/heroes')
+  });
+})
diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js
new file mode 100644 (file)
index 0000000..aa9918d
--- /dev/null
@@ -0,0 +1,21 @@
+/// <reference types="cypress" />
+// ***********************************************************
+// 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)
+
+/**
+ * @type {Cypress.PluginConfig}
+ */
+module.exports = (on, config) => {
+  // `on` is used to hook into various events Cypress emits
+  // `config` is the resolved Cypress config
+}
diff --git a/cypress/support/commands.js b/cypress/support/commands.js
new file mode 100644 (file)
index 0000000..ca4d256
--- /dev/null
@@ -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 will overwrite an existing command --
+// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })
diff --git a/cypress/support/index.js b/cypress/support/index.js
new file mode 100644 (file)
index 0000000..d68db96
--- /dev/null
@@ -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')