Commit 39f307a0 authored by Michail Tzanatos's avatar Michail Tzanatos
Browse files

merge changes on 26-implement-user-journey-tests

parents ec4d62d1 973c3942
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ testem.log
.env
cypress/fixtures
cypress/screenshots
cypress/downloads

# System Files
.DS_Store
+9 −2
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "allowedCommonJsDependencies": ["jwt-decode"],
            "allowedCommonJsDependencies": ["jwt-decode", "moment", "jsoneditor", "fast-sha256"],
            "outputPath": "dist/org.etsi.osl.tmf.web",
            "index": "src/index.html",
            "main": "src/main.ts",
@@ -56,7 +56,14 @@
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              "optimization": true,
              "optimization": {
                "scripts": true,
                "styles": {
                  "minify": true,
                  "inlineCritical": false
                },
                "fonts": true
              },
              "outputHashing": "all",
              "sourceMap": false,
              "namedChunks": false,
+0 −2
Original line number Diff line number Diff line
@@ -7,13 +7,11 @@ export default defineConfig({
  
  e2e: {
    setupNodeEvents(on, config) {
      // implement node event listeners here
      require("ts-node").register({
        project: "tsconfig.json",
      });
      return config;
    },
    //baseUrl: "http://orgosletsitmfweb:4200",
    baseUrl: process.env.CYPRESS_BASE_URL,
    pageLoadTimeout: 16000,
    viewportWidth: 1500,
+1 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ describe("user authentication", () => {
  });
  it("should login, logout", () => {
    cy.loginPath(
      ":nth-child(2) > .container > .row > :nth-child(2) > a > .btn",
      ":nth-child(1) > .nav-link",
      "/services"
    );
    cy.get("#navbarDropdown2").click();
+77 −92
Original line number Diff line number Diff line
describe('logged user journeys', () => {
  beforeEach(() => {
        //cy.visit("http://localhost:4200/");
      cy.visit(window.location.origin);        
      
  });
    afterEach(() => {
      //log user out after each test
      cy.get('#navbarDropdown2').click();
      cy.get(':nth-child(2) > .dropdown > .dropdown-menu > :nth-child(8)').click();
      cy.location("pathname").should("equal", "/");
    });
  // afterEach(() => {
  //   //log user out after each test
  //   cy.get('#navbarDropdown2').click();
  //   cy.get(':nth-child(2) > .dropdown > .dropdown-menu > :nth-child(8)').click();
  //   cy.location("pathname").should("equal", "/");
  // });

  // it.only('logs in through services', () => {
  //   cy.loginPath('[data-cy="servicesPortal"]', '/services');
  //   //back on services marketplace after login
  //   cy.location("pathname").should("equal", "/services/services_marketplace");
  //   //check every 'Manage Services' dropdown item
  //   cy.get(':nth-child(2) > #navbarDropdown').click();
  //   let i=1; 
  //   cy.get('.dropdown-item').each(($el) => {
      
  //     cy.wrap($el).click(); // Click the link
  //     cy.get(':nth-child(1) > .cdk-column-actions > .btn').first().click();
  //     //does the dialog open?
  //     cy.get('mat-dialog-container').should('exist');
  //     cy.go('back');
  //     cy.get(':nth-child(2) > #navbarDropdown').click();
  //     i = i+1;
  //     cy.log(`${i}`);
  //     if(i>2) {
  //       cy.log("it returns now");
  //       return false;
  //     }
  //   });
  //   //access the service specs dropdown
  //   cy.get('#navbarDropdown1').click();
  //   let j=0;
  //   for(let i=1; i<=2; i++) {
  //     cy.get(`.dropdown-submenu > .dropdown-menu > :nth-child(${i}) `).click();
  //     cy.location("pathname").should("not.equal", "/services/services_marketplace");
  //     cy.go('back');
  //     cy.get(':nth-child(2) > #navbarDropdown').click();
  //     cy.get('#navbarDropdown1').click();
  //   }
  //   //check the rest dropdown items
  //   cy.get(':nth-child(4) > .dropdown-item').click();
  //   cy.get('mat-dialog-container').should('exist');
  //   cy.go('back');
  //   cy.get(':nth-child(2) > #navbarDropdown').click();
    
  //   //'Manage Entities' dropdown
  //   cy.manageEntities(':nth-child(3) > #navbarDropdown', 2);
    
  // });

  it('logs in through services', () => {
      cy.loginPath(':nth-child(2) > .container > .row > :nth-child(2) > a > .btn', '/services');
      //back on services marketplace after login
    cy.loginPath('[data-cy="servicesPortal"]', '/services');
    cy.location("pathname").should("equal", "/services/services_marketplace");
      //check every 'Manage Services' dropdown item
      cy.get(':nth-child(2) > #navbarDropdown').click();
      let i=0; 
      cy.get('.show .dropdown-item').each(($el) => {
        i++;
        cy.wrap($el).click(); // Click the link
        cy.get(':nth-child(1) > .cdk-column-actions > .btn').first().click();

        //does the dialog open?
        cy.get('mat-dialog-container').should('exist');
        cy.go('back');
        cy.get(':nth-child(2) > #navbarDropdown').click();
        if(i>1) {
          return false;
        }
      });
      //access the service specs dropdown
      cy.get('#navbarDropdown1').click();
      let j=0;
      for(let i=1; i<=2; i++) {
        cy.get(`.dropdown-submenu > .dropdown-menu > :nth-child(${i}) `).click();
        cy.location("pathname").should("not.equal", "/services/services_marketplace");
        cy.go('back');
        cy.get(':nth-child(2) > #navbarDropdown').click();
        cy.get('#navbarDropdown1').click();
      }
      //check the rest dropdown items
      cy.get(':nth-child(4) > .dropdown-item').click();
      cy.get('mat-dialog-container').should('exist');
      cy.go('back');
      cy.get(':nth-child(2) > #navbarDropdown').click();
    cy.navigateThroughDropdowns("Services Marketplace");
    cy.manageEntities(':nth-child(3) > #navbarDropdown', 2);
    cy.manageEntities(':nth-child(4) > #navbarDropdown', 3);

      //'Manage Entities' dropdown
      cy.manageEntities(':nth-child(3) > #navbarDropdown', '.jumbotron-heading > .btn', 2, 2);
    
  });
    it('logs in through resources', () => {
      cy.loginPath(':nth-child(3) > .container > .row > .order-md-1 > a > .btn', '/resources');
      cy.location("pathname").should("equal", "/resources/resource_catalogs");
      cy.get('.text-md-right > .btn').click();
      cy.get('mat-dialog-container').should('exist');
      cy.go('back');
      cy.get('#navbarDropdown').click();
      cy.get('.show > :nth-child(2) > .dropdown-item').click();
      cy.location("pathname").should("equal", "/resources/resource_categories");
      cy.get('.text-md-right > .btn').click();
      cy.location("pathname").should("equal", "/resources/resource_categories_update");
      cy.go('back');

      cy.get('#navbarDropdown').click();
      cy.get('#navbarDropdown1').click();
      for(let i=1; i<=2; i++) {
        cy.get(`.dropdown-submenu > .dropdown-menu > :nth-child(${i}) `).click();
        cy.location("pathname").should("not.equal", "/resources/resource_categories");
        cy.go('back');
        cy.get('#navbarDropdown').click();
        cy.get('#navbarDropdown1').click();
      }

      //resource inventory
      cy.get(':nth-child(5) > .dropdown-item').click();
  it('logs in through resources', () => {
    cy.loginPath('[data-cy="resourcesPortal"]', '/resources');
    cy.location("pathname").should("equal", "/resources/resource_inventory");
      cy.get('#navbarDropdown').click();
    cy.navigateThroughDropdowns("Resource Inventory");

      //resource pools
      cy.get(':nth-child(7) > .dropdown-item').click();
      cy.location("pathname").should("equal", "/resources/resource_pools");
      cy.get('#navbarDropdown').click();
  });

      //resource reservations
      cy.get(':nth-child(8) > .dropdown-item').click();
      cy.location("pathname").should("equal", "/resources/resource_reservations");

    });
  it('logs in through testing', () => {
      cy.loginPath(':nth-child(5) > .container > .row > .order-md-1 > a > .btn', '/testing');

      cy.manageEntities(':nth-child(1) > #navbarDropdown', '.text-md-right > .btn', 3, 2);
      cy.manageEntities(':nth-child(2) > #navbarDropdown', '.jumbotron-heading > .btn', 2, 2);
    cy.loginPath('[data-cy="testingPortal"]', '/testing');
    cy.manageEntities(':nth-child(1) > #navbarDropdown', 2);
    cy.manageEntities(':nth-child(2) > #navbarDropdown', 2);
  });

  
  it('logs in through products', () => {
      cy.loginPath(':nth-child(6) > .container > .row > :nth-child(2) > a > .btn', '/products');
      cy.manageEntities(':nth-child(2) > #navbarDropdown', '.text-md-right > .btn', 2, 4);
      cy.manageEntities(':nth-child(3) > #navbarDropdown', '.jumbotron-heading > .btn', 2, 2);
    cy.loginPath('[data-cy="productsPortal"]', '/products');
    cy.manageEntities(':nth-child(2) > #navbarDropdown', 4);
    cy.manageEntities(':nth-child(3) > #navbarDropdown', 2);
  });
})
 No newline at end of file
Loading