Skip to content

Commit

Permalink
[RFR] Filtering test for issues by app name (#764)
Browse files Browse the repository at this point in the history
* Filtering test for issues by app name

Signed-off-by: Igor Braginsky <[email protected]>

* Changed class name

Signed-off-by: Igor Braginsky <[email protected]>

* Fixes by Alex request

Signed-off-by: Igor Braginsky <[email protected]>

* Renamed folders in models and tests as "issues"

Signed-off-by: Igor Braginsky <[email protected]>

---------

Signed-off-by: Igor Braginsky <[email protected]>
  • Loading branch information
ibragins authored Oct 30, 2023
1 parent 41884bb commit 776a8d8
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ import {
targetFilterName,
} from "../../../views/issue.view";

export class Issue {
export class Issues {
/** Contains URL of issues web page */
static fullUrl = Cypress.env("tackleUrl") + "/issues";

public static openList(itemsPerPage = 100, forceReload = false): void {
if (forceReload) {
cy.visit(Issue.fullUrl);
cy.visit(Issues.fullUrl);
}
if (!getUrl().includes(Issue.fullUrl)) {
if (!getUrl().includes(Issues.fullUrl)) {
selectUserPerspective(migration);
}
clickByText(navMenu, "Issues");
Expand All @@ -45,6 +45,7 @@ export class Issue {
[filterIssue.target]: targetFilterName,
};

Issues.openList();
selectFilter(item);
if (selectorMap[item]) {
inputText(selectorMap[item], itemName);
Expand Down
67 changes: 67 additions & 0 deletions cypress/e2e/tests/migration/issues/filter.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/*
Copyright © 2021 the Konveyor Contributors (https://konveyor.io/)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/// <reference types="cypress" />

import {
login,
getRandomApplicationData,
getRandomAnalysisData,
deleteByList,
clearAllFilters,
} from "../../../../utils/utils";
import { Analysis } from "../../../models/migration/applicationinventory/analysis";
import { SEC, filterIssue } from "../../../types/constants";
import { Issues } from "../../../models/migration/issues/issues";
let applicationsList: Array<Analysis> = [];

describe(["@tier2"], "Issues filtering", () => {
before("Login", function () {
login();
});

beforeEach("Load data", function () {
cy.fixture("application").then(function (appData) {
this.appData = appData;
});
cy.fixture("analysis").then(function (analysisData) {
this.analysisData = analysisData;
});
});

it("Running analysis and filtering issues by app name", function () {
// For source code analysis application must have source code URL git or svn
const application = new Analysis(
getRandomApplicationData("bookserverApp", {
sourceData: this.appData["bookserver-app"],
}),
getRandomAnalysisData(this.analysisData["source_analysis_on_bookserverapp"])
);
application.create();
applicationsList.push(application);
cy.wait("@getApplication");
cy.wait(2 * SEC);
application.analyze();
application.verifyAnalysisStatus("Completed");

Issues.filterBy(filterIssue.appName, application.name);
cy.get("tr").should("not.contain", "No data available");
clearAllFilters();
});

after("Perform test data clean up", function () {
deleteByList(applicationsList);
});
});
6 changes: 3 additions & 3 deletions cypress/e2e/views/issue.view.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const appFilterName = "#application.name-input";
export const bsFilterName = "#businessService.name-filter-value-select";
export const tagFilterName = "#tag.id-filter-value-select";
export const appFilterName = "#application\\.name-input";
export const bsFilterName = "#businessService\\.name-filter-value-select";
export const tagFilterName = "#tag\\.id-filter-value-select";
export const categoryFilterName = "#category-input";
export const sourceFilterName = "#source-input";
export const targetFilterName = "#target-input";

0 comments on commit 776a8d8

Please sign in to comment.