Skip to content
Snippets Groups Projects
Commit b679c623 authored by tzanmix's avatar tzanmix
Browse files

group-by-custom-commands

parent 354c9046
No related branches found
No related tags found
1 merge request!22Draft: Resolve "Implement user journey tests"
This commit is part of merge request !22. Comments created here will be created in the context of that merge request.
import { inject } from "@angular/core";
import { defineConfig } from "cypress";
import { AppService } from "src/app/shared/services/app.service";
//let appConfig = inject(AppService);
export default defineConfig({
e2e: {
setupNodeEvents(on, config) {
// implement node event listeners here
},
baseUrl: "http://localhost:4200/",
pageLoadTimeout: 80000
},
});
......@@ -6,80 +6,49 @@ describe('user journey', () => {
cy.visit(baseUrl);
})
context.skip('user-not-logged-in', () => {
context('user-not-logged-in', () => {
it('checks services portal', () => {
cy.get(':nth-child(2) > .container > .row > :nth-child(2) > a > .btn').click();
//cy.get(':nth-child(1) > .nav-link').click()
cy.location("pathname").should("equal", "/services");
cy.get('.btn').should("contain", "Sign In");
cy.get(':nth-child(2) > .nav-item > .nav-link').should("exist");
//service marketplace button should exist and should redirect to /services_marketplace
cy.get('.mr-auto > .nav-item > .nav-link').click();
cy.get('.jumbotron > h5.ng-tns-c147-1').should("contain", "Browse available services and sign in to order");
cy.get('.catalog-tree-header').should("exist");
//sign in button should exist
cy.get(':nth-child(2) > .nav-item > .nav-link').click();
//sign in button should redirect to auth form
cy.origin('http://portal.openslice.eu', () => {
cy.location("pathname").should("equal", "/auth/realms/openslice/protocol/openid-connect/auth");
});
cy.navigateToServices(':nth-child(2) > .container > .row > :nth-child(2) > a > .btn');
});
it('checks services portal via image', () => {
cy.navigateToServices(':nth-child(2) > .container > .row > .text-left');
});
it('checks services portal via anchor', () => {
cy.navigateToServices(':nth-child(1) > .nav-link');
});
it('checks resources portal', () => {
cy.get(':nth-child(3) > .container > .row > .order-md-1 > a > .btn').click();
//cy.get(':nth-child(2) > .nav-link').click();
cy.location("pathname").should("equal", "/resources");
//sign in button should exist
cy.get('.btn').should('exist').click();
//cy.get('nav-link').should('exist').click();
//sign in button should redirect to auth form
cy.origin('http://portal.openslice.eu', () => {
cy.location("pathname").should("equal", "/auth/realms/openslice/protocol/openid-connect/auth");
});
cy.navigateToResources(':nth-child(3) > .container > .row > .order-md-1 > a > .btn');
});
it('checks testing portal', () => {
cy.get(':nth-child(5) > .container > .row > .order-md-1 > a > .btn').click();
//cy.get(':nth-child(2) > .nav-link').click();
cy.location("pathname").should("equal", "/testing");
//sign in button should exist
cy.get('.btn').should('exist').click();
//cy.get('nav-link').should('exist').click();
//sign in button should redirect to auth form
cy.origin('http://portal.openslice.eu', () => {
cy.location("pathname").should("equal", "/auth/realms/openslice/protocol/openid-connect/auth");
});
it('checks resources portal via image', () => {
cy.navigateToResources(':nth-child(3) > .container > .row > .order-md-2 > a > .img-fluid');
})
it('checks resources portal via anchor', () => {
cy.navigateToResources(':nth-child(2) > .nav-link');
});
it('checks products portal', () => {
cy.get(':nth-child(6) > .container > .row > :nth-child(2) > a > .btn').click();
//cy.get(':nth-child(1) > .nav-link').click()
cy.location("pathname").should("equal", "/products");
cy.get('.btn').should("contain", "Sign In");
cy.get(':nth-child(2) > .nav-item > .nav-link').should("exist");
//marketplace button should exist and should redirect to products/marketplace
cy.get('.mr-auto > .nav-item > .nav-link').click();
cy.get('.catalog-tree-header').should("exist");
cy.get('.mb-0').should("contain", "Product Catalog Explorer");
//sign in button should exist
cy.get(':nth-child(2) > .nav-item > .nav-link').click();
//sign in button should redirect to auth form
cy.origin('http://portal.openslice.eu', () => {
cy.location("pathname").should("equal", "/auth/realms/openslice/protocol/openid-connect/auth");
it('checks testing portal', () => {
cy.navigateToTesting(':nth-child(5) > .container > .row > .order-md-1 > a > .btn');
});
it('checks testing via image', () => {
cy.navigateToTesting(':nth-child(5) > .container > .row > .order-md-2 > a > .img-fluid');
})
it('checks testing portal via anchor', () => {
cy.navigateToTesting(':nth-child(4) > .nav-link')
});
});
it('checks products portal', () => {
cy.navigateToProducts(':nth-child(6) > .container > .row > :nth-child(2) > a > .btn');
});
it('checks products portal via image', () => {
cy.navigateToProducts(':nth-child(6) > .container > .row > .text-left > a > .img-fluid');
})
it('checks products portal via anchor', () => {
cy.navigateToProducts(':nth-child(5) > .nav-link');
})
});
context('<who we are> links', () => {
context.only('<who we are> links', () => {
it('checks ETSI SDG OpenSlice Link', () => {
cy.get('.ng-star-inserted > :nth-child(1) > .text-white').click();
cy.origin('https://osl.etsi.org/', () => {
......
......@@ -25,13 +25,82 @@
// -- This will overwrite an existing command --
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
//
// declare global {
// namespace Cypress {
// interface Chainable {
// login(email: string, password: string): 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>
// }
// }
// }
\ No newline at end of file
declare namespace Cypress {
interface Chainable {
navigateToServices(selector): Chainable<any>,
navigateToResources(selector): Chainable<any>,
navigateToTesting(selector): Chainable<any>,
navigateToProducts(selector): Chainable<any>
}
}
Cypress.Commands.add('navigateToServices', (selector) => {
cy.get(selector).click();
cy.location("pathname").should("equal", "/services");
cy.get('.btn').should("contain", "Sign In");
cy.get(':nth-child(2) > .nav-item > .nav-link').should("exist");
//service marketplace button should exist and should redirect to /services_marketplace
cy.get('.mr-auto > .nav-item > .nav-link').click();
cy.get('.jumbotron > h5.ng-tns-c147-1').should("contain", "Browse available services and sign in to order");
cy.get('.catalog-tree-header').should("exist");
//sign in button should exist
cy.get(':nth-child(2) > .nav-item > .nav-link').click();
//sign in button should redirect to auth form
cy.origin('http://portal.openslice.eu', () => {
cy.location("pathname").should("equal", "/auth/realms/openslice/protocol/openid-connect/auth");
});
});
Cypress.Commands.add('navigateToResources', (selector) => {
cy.get(selector).click();
cy.location("pathname").should("equal", "/resources");
//sign in button should exist
cy.get('.btn').should('exist').click();
//cy.get('nav-link').should('exist').click();
//sign in button should redirect to auth form
cy.origin('http://portal.openslice.eu', () => {
cy.location("pathname").should("equal", "/auth/realms/openslice/protocol/openid-connect/auth");
});
})
Cypress.Commands.add('navigateToTesting', (selector) => {
cy.get(selector).click();
cy.location("pathname").should("equal", "/testing");
//sign in button should exist
cy.get('.btn').should('exist').click();
//cy.get('nav-link').should('exist').click();
//sign in button should redirect to auth form
cy.origin('http://portal.openslice.eu', () => {
cy.location("pathname").should("equal", "/auth/realms/openslice/protocol/openid-connect/auth");
});
});
Cypress.Commands.add('navigateToProducts', (selector) => {
cy.get(selector).click();
cy.location("pathname").should("equal", "/products");
cy.get('.btn').should("contain", "Sign In");
cy.get(':nth-child(2) > .nav-item > .nav-link').should("exist");
//marketplace button should exist and should redirect to products/marketplace
cy.get('.mr-auto > .nav-item > .nav-link').click();
cy.get('.catalog-tree-header').should("exist");
cy.get('.mb-0').should("contain", "Product Catalog Explorer");
//sign in button should exist
cy.get(':nth-child(2) > .nav-item > .nav-link').click();
//sign in button should redirect to auth form
cy.origin('http://portal.openslice.eu', () => {
cy.location("pathname").should("equal", "/auth/realms/openslice/protocol/openid-connect/auth");
});
})
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment