Skip to content
Snippets Groups Projects
user-journeys.cy.ts 4.86 KiB
Newer Older
describe('user journey', () => {

  beforeEach(() => {
    cy.visit('http://localhost:4200/');

  })
  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");

      });

    });
    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");

      });
    });
    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 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");

      });
    });
  });
  context('<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/', () => {
        cy.location("pathname").should("equal", "/");

      });
    });
    it("checks OpenSLice by ETSI wiki", () => {
      cy.get(':nth-child(3) > .text-white').click();
      cy.origin('https://osl.etsi.org/', () => {
        cy.location("pathname").should("equal", "/documentation/latest/");

      });
    });
    it('checks <our wiki> link', () => {
      cy.get('.col-12 > :nth-child(3) > .font-weight-bold').click();
      cy.origin('https://osl.etsi.org/', () => {
        cy.location("pathname").should("equal", "/documentation/latest/");

      });
    });
    //infinite loop
    // it.only('checks linkedin link', () => {
    //   cy.get(':nth-child(2) > .ng-star-inserted > :nth-child(1)').click();
    //   cy.origin('https://www.linkedin.com/company/openslice/', ()=> {
    //     cy.location("pathname").should("equal", "/");
    //   });
    // });
    it.only('checks slack link', () => {
      cy.get(':nth-child(2) > .ng-star-inserted > :nth-child(2)').click();
      cy.origin('https://openslice.slack.com/', () => {
        cy.location("pathname").should("equal", "/");

      });
    });
    //twitter test cannot pass, depends on user login
    // it.only('checks twitter link', () => {
    //   cy.get(':nth-child(2) > .ng-star-inserted > :nth-child(3)').click();
    //   cy.origin('https://x.com/OpensliceOSS', () => {
    //     cy.location("pathname").should("equal", '/')
    //   });
    // });
  });
  
  
})