-
Notifications
You must be signed in to change notification settings - Fork 727
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
e2e - added cypress initial config and initial test
- Loading branch information
1 parent
992f1f4
commit f451d7e
Showing
15 changed files
with
8,410 additions
and
755 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,3 +22,7 @@ dist-ssr | |
*.njsproj | ||
*.sln | ||
*.sw? | ||
|
||
cypress/videos | ||
cypress/screenshots | ||
cypress/downloads |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import { defineConfig } from "cypress"; | ||
|
||
export default defineConfig({ | ||
component: { | ||
devServer: { | ||
framework: "vue", | ||
bundler: "vite", | ||
}, | ||
}, | ||
|
||
e2e: { | ||
setupNodeEvents(on, config) { | ||
// implement node event listeners here | ||
}, | ||
}, | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/// <reference types="cypress" /> | ||
|
||
// Welcome to Cypress! | ||
// | ||
// This spec file contains a variety of sample tests | ||
// for a todo list app that are designed to demonstrate | ||
// the power of writing tests in Cypress. | ||
// | ||
// To learn more about how Cypress works and | ||
// what makes it such an awesome testing tool, | ||
// please read our getting started guide: | ||
// https://on.cypress.io/introduction-to-cypress | ||
|
||
describe('login', () => { | ||
beforeEach(() => { | ||
// Cypress starts out with a blank slate for each test | ||
// so we must tell it to visit our website with the `cy.visit()` command. | ||
// Since we want to visit the same URL at the start of all our tests, | ||
// we include it in our beforeEach function so that it runs before each test | ||
cy.visit('http://localhost:8080') | ||
}) | ||
|
||
it('should have user id and password fields along with sign in button', () => { | ||
|
||
// user id field is visible | ||
cy.get('[data-cy="login-user-id"]').should('be.visible') | ||
|
||
// password field is visible | ||
cy.get('[data-cy="login-password"]').should('be.visible') | ||
|
||
// Sign In button is visible | ||
cy.get('[data-cy="login-sign-in"]').should('be.visible') | ||
|
||
}) | ||
|
||
it('should be able to login', () => { | ||
cy.login(); | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
/// <reference types="cypress" /> | ||
|
||
describe("Search Page", () => { | ||
beforeEach(() => { | ||
cy.login(); | ||
}) | ||
|
||
it("should have basic fields", () => { | ||
// search bar is visible | ||
cy.get("[data-cy='search-bar-input']").should("be.visible"); | ||
|
||
// syntax guide button is visible | ||
cy.get("[data-cy='syntax-guide-button']").should("be.visible"); | ||
|
||
// date-time button is visible | ||
cy.get("[data-cy='date-time-button']").should("be.visible"); | ||
|
||
// search bar refresh button is visible | ||
cy.get("[data-cy='search-bar-refresh-button']").should("be.visible"); | ||
|
||
// search button is visible | ||
cy.get("[data-cy='search-bar-button-dropdown']").should("be.visible"); | ||
|
||
// index drop down field is visible | ||
cy.get("[data-cy='index-dropdown']").should("be.visible"); | ||
|
||
// index field search input is visible | ||
cy.get("[data-cy='index-field-search-input']").should("be.visible"); | ||
|
||
// search result area is visible | ||
cy.get("[data-cy='search-result-area']").should("be.visible"); | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,232 @@ | ||
[ | ||
{ | ||
"id": 1, | ||
"name": "Leanne Graham", | ||
"username": "Bret", | ||
"email": "Sincere@april.biz", | ||
"address": { | ||
"street": "Kulas Light", | ||
"suite": "Apt. 556", | ||
"city": "Gwenborough", | ||
"zipcode": "92998-3874", | ||
"geo": { | ||
"lat": "-37.3159", | ||
"lng": "81.1496" | ||
} | ||
}, | ||
"phone": "1-770-736-8031 x56442", | ||
"website": "hildegard.org", | ||
"company": { | ||
"name": "Romaguera-Crona", | ||
"catchPhrase": "Multi-layered client-server neural-net", | ||
"bs": "harness real-time e-markets" | ||
} | ||
}, | ||
{ | ||
"id": 2, | ||
"name": "Ervin Howell", | ||
"username": "Antonette", | ||
"email": "Shanna@melissa.tv", | ||
"address": { | ||
"street": "Victor Plains", | ||
"suite": "Suite 879", | ||
"city": "Wisokyburgh", | ||
"zipcode": "90566-7771", | ||
"geo": { | ||
"lat": "-43.9509", | ||
"lng": "-34.4618" | ||
} | ||
}, | ||
"phone": "010-692-6593 x09125", | ||
"website": "anastasia.net", | ||
"company": { | ||
"name": "Deckow-Crist", | ||
"catchPhrase": "Proactive didactic contingency", | ||
"bs": "synergize scalable supply-chains" | ||
} | ||
}, | ||
{ | ||
"id": 3, | ||
"name": "Clementine Bauch", | ||
"username": "Samantha", | ||
"email": "Nathan@yesenia.net", | ||
"address": { | ||
"street": "Douglas Extension", | ||
"suite": "Suite 847", | ||
"city": "McKenziehaven", | ||
"zipcode": "59590-4157", | ||
"geo": { | ||
"lat": "-68.6102", | ||
"lng": "-47.0653" | ||
} | ||
}, | ||
"phone": "1-463-123-4447", | ||
"website": "ramiro.info", | ||
"company": { | ||
"name": "Romaguera-Jacobson", | ||
"catchPhrase": "Face to face bifurcated interface", | ||
"bs": "e-enable strategic applications" | ||
} | ||
}, | ||
{ | ||
"id": 4, | ||
"name": "Patricia Lebsack", | ||
"username": "Karianne", | ||
"email": "Julianne.OConner@kory.org", | ||
"address": { | ||
"street": "Hoeger Mall", | ||
"suite": "Apt. 692", | ||
"city": "South Elvis", | ||
"zipcode": "53919-4257", | ||
"geo": { | ||
"lat": "29.4572", | ||
"lng": "-164.2990" | ||
} | ||
}, | ||
"phone": "493-170-9623 x156", | ||
"website": "kale.biz", | ||
"company": { | ||
"name": "Robel-Corkery", | ||
"catchPhrase": "Multi-tiered zero tolerance productivity", | ||
"bs": "transition cutting-edge web services" | ||
} | ||
}, | ||
{ | ||
"id": 5, | ||
"name": "Chelsey Dietrich", | ||
"username": "Kamren", | ||
"email": "Lucio_Hettinger@annie.ca", | ||
"address": { | ||
"street": "Skiles Walks", | ||
"suite": "Suite 351", | ||
"city": "Roscoeview", | ||
"zipcode": "33263", | ||
"geo": { | ||
"lat": "-31.8129", | ||
"lng": "62.5342" | ||
} | ||
}, | ||
"phone": "(254)954-1289", | ||
"website": "demarco.info", | ||
"company": { | ||
"name": "Keebler LLC", | ||
"catchPhrase": "User-centric fault-tolerant solution", | ||
"bs": "revolutionize end-to-end systems" | ||
} | ||
}, | ||
{ | ||
"id": 6, | ||
"name": "Mrs. Dennis Schulist", | ||
"username": "Leopoldo_Corkery", | ||
"email": "Karley_Dach@jasper.info", | ||
"address": { | ||
"street": "Norberto Crossing", | ||
"suite": "Apt. 950", | ||
"city": "South Christy", | ||
"zipcode": "23505-1337", | ||
"geo": { | ||
"lat": "-71.4197", | ||
"lng": "71.7478" | ||
} | ||
}, | ||
"phone": "1-477-935-8478 x6430", | ||
"website": "ola.org", | ||
"company": { | ||
"name": "Considine-Lockman", | ||
"catchPhrase": "Synchronised bottom-line interface", | ||
"bs": "e-enable innovative applications" | ||
} | ||
}, | ||
{ | ||
"id": 7, | ||
"name": "Kurtis Weissnat", | ||
"username": "Elwyn.Skiles", | ||
"email": "Telly.Hoeger@billy.biz", | ||
"address": { | ||
"street": "Rex Trail", | ||
"suite": "Suite 280", | ||
"city": "Howemouth", | ||
"zipcode": "58804-1099", | ||
"geo": { | ||
"lat": "24.8918", | ||
"lng": "21.8984" | ||
} | ||
}, | ||
"phone": "210.067.6132", | ||
"website": "elvis.io", | ||
"company": { | ||
"name": "Johns Group", | ||
"catchPhrase": "Configurable multimedia task-force", | ||
"bs": "generate enterprise e-tailers" | ||
} | ||
}, | ||
{ | ||
"id": 8, | ||
"name": "Nicholas Runolfsdottir V", | ||
"username": "Maxime_Nienow", | ||
"email": "Sherwood@rosamond.me", | ||
"address": { | ||
"street": "Ellsworth Summit", | ||
"suite": "Suite 729", | ||
"city": "Aliyaview", | ||
"zipcode": "45169", | ||
"geo": { | ||
"lat": "-14.3990", | ||
"lng": "-120.7677" | ||
} | ||
}, | ||
"phone": "586.493.6943 x140", | ||
"website": "jacynthe.com", | ||
"company": { | ||
"name": "Abernathy Group", | ||
"catchPhrase": "Implemented secondary concept", | ||
"bs": "e-enable extensible e-tailers" | ||
} | ||
}, | ||
{ | ||
"id": 9, | ||
"name": "Glenna Reichert", | ||
"username": "Delphine", | ||
"email": "Chaim_McDermott@dana.io", | ||
"address": { | ||
"street": "Dayna Park", | ||
"suite": "Suite 449", | ||
"city": "Bartholomebury", | ||
"zipcode": "76495-3109", | ||
"geo": { | ||
"lat": "24.6463", | ||
"lng": "-168.8889" | ||
} | ||
}, | ||
"phone": "(775)976-6794 x41206", | ||
"website": "conrad.com", | ||
"company": { | ||
"name": "Yost and Sons", | ||
"catchPhrase": "Switchable contextually-based project", | ||
"bs": "aggregate real-time technologies" | ||
} | ||
}, | ||
{ | ||
"id": 10, | ||
"name": "Clementina DuBuque", | ||
"username": "Moriah.Stanton", | ||
"email": "Rey.Padberg@karina.biz", | ||
"address": { | ||
"street": "Kattie Turnpike", | ||
"suite": "Suite 198", | ||
"city": "Lebsackbury", | ||
"zipcode": "31428-2261", | ||
"geo": { | ||
"lat": "-38.2386", | ||
"lng": "57.2232" | ||
} | ||
}, | ||
"phone": "024-648-3804", | ||
"website": "ambrose.net", | ||
"company": { | ||
"name": "Hoeger LLC", | ||
"catchPhrase": "Centralized empowering task-force", | ||
"bs": "target end-to-end models" | ||
} | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
/// <reference types="cypress" /> | ||
// *********************************************** | ||
// This example commands.ts 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) => { ... }) | ||
// | ||
|
||
|
||
Cypress.Commands.add("login", () => { | ||
cy.visit("http://localhost:8080"); | ||
|
||
cy.get('[data-cy="login-user-id"]').type('admin') | ||
|
||
// login | ||
cy.get('[data-cy="login-password"]').type('admin') | ||
cy.get('[data-cy="login-sign-in"]').click() | ||
cy.contains('admin').should('be.visible') | ||
}); | ||
|
||
declare global { | ||
namespace Cypress { | ||
interface Chainable { | ||
login(): Chainable<void> | ||
// drag(subject: string, options?: Partial<TypeOptions>): Chainable<Element> | ||
// dismiss(subject: string, options?: Partial<TypeOptions>): Chainable<Element> | ||
// visit(originalFn: CommandOriginalFn, url: string, options: Partial<VisitOptions>): Chainable<Element> | ||
} | ||
} | ||
} |
Oops, something went wrong.