Added a nestJS based contract api

- Added an example with trucks and basic fetch in useEffect on page load
  - Added simply test to see whether any data is displayed (and shows the interceptor)
Introduced "CypressStrictMode" which wraps React.StrictMode and checks whether Cypress is involved, if so disable StrictMode.
This commit is contained in:
2022-08-15 11:42:19 +02:00
parent c0a0ea66a6
commit 3db77f96b9
31 changed files with 15567 additions and 35 deletions

27
cypress/e2e/trucks.cy.ts Normal file
View File

@@ -0,0 +1,27 @@
/// <reference types="cypress" />
describe("Application trucks", () => {
beforeEach(() => {
cy.visit(Cypress.env("appBaseUrl"));
});
it("Should render the navigation links", () => {
cy.get("[data-testid='nav']");
});
it("Should navigate to trucks and display a result when clicking on trucks", () => {
cy.get('[data-testid="nav.trucks"]').click();
cy.contains("trucks (contract api) page");
});
it("Should eventually (after the http call) display the results on screen", () => {
cy.intercept({
method: "GET",
url: "http://localhost:9600/fake/trucks",
}).as("getTrucks");
cy.get('[data-testid="nav.trucks"]').click();
cy.contains("trucks (contract api) page");
cy.wait("@getTrucks").its("response.statusCode").should("be.oneOf", [200, 304]);
cy.get('[data-testid="trucksResult"]').should("not.be.empty");
});
});

View File

@@ -34,4 +34,4 @@
// visit(originalFn: CommandOriginalFn, url: string, options: Partial<VisitOptions>): Chainable<Element>
// }
// }
// }
// }

View File

@@ -14,7 +14,7 @@
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands'
import "./commands";
// Alternatively you can use CommonJS syntax:
// require('./commands')
// require('./commands')