diff --git a/cypress/e2e/models/migration/applicationinventory/application.ts b/cypress/e2e/models/migration/applicationinventory/application.ts
index 1b1d7cafe..723559ac3 100644
--- a/cypress/e2e/models/migration/applicationinventory/application.ts
+++ b/cypress/e2e/models/migration/applicationinventory/application.ts
@@ -914,4 +914,11 @@ export class Application {
this.clickAssessButton();
Assessment.deleteAssessments();
}
+
+ // Opens the task manager page from application inventory page
+ openAllTasksLink(): void {
+ Application.open();
+ cy.get(tdTag).contains(this.name).trigger("mouseenter").wait(4000);
+ cy.contains("View all tasks for the application").click({ force: true });
+ }
}
diff --git a/cypress/e2e/tests/migration/task-manager/task_manager.test.ts b/cypress/e2e/tests/migration/task-manager/task_manager.test.ts
new file mode 100644
index 000000000..bdc14b06a
--- /dev/null
+++ b/cypress/e2e/tests/migration/task-manager/task_manager.test.ts
@@ -0,0 +1,87 @@
+/*
+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.
+*/
+///
+
+import {
+ clearAllFilters,
+ deleteApplicationTableRows,
+ deleteByList,
+ getRandomAnalysisData,
+ getRandomApplicationData,
+ login,
+ validateTextPresence,
+} from "../../../../utils/utils";
+import { Analysis } from "../../../models/migration/applicationinventory/analysis";
+import { Application } from "../../../models/migration/applicationinventory/application";
+import { TaskManager } from "../../../models/migration/task-manager/task-manager";
+import { TaskKind, TaskStatus } from "../../../types/constants";
+import { TaskManagerColumns } from "../../../views/taskmanager.view";
+
+let applicationsList: Array = [];
+let application: Analysis;
+
+describe(["@tier1"], "Task Manager", () => {
+ before("Login", function () {
+ login();
+ deleteApplicationTableRows();
+ });
+ beforeEach("Load data", function () {
+ cy.fixture("application").then(function (appData) {
+ this.appData = appData;
+ });
+ cy.fixture("analysis").then(function (analysisData) {
+ this.analysisData = analysisData;
+ });
+
+ // Interceptors
+ cy.intercept("POST", "/hub/application*").as("postApplication");
+ cy.intercept("GET", "/hub/application*").as("getApplication");
+ });
+
+ it("Navigation to the task manager page is allowed from the left navigation menu", function () {
+ for (let i = 0; i < 2; i++) {
+ application = new Analysis(
+ getRandomApplicationData("", {
+ sourceData: this.appData["bookserver-app"],
+ }),
+ getRandomAnalysisData(this.analysisData["source_analysis_on_bookserverapp"])
+ );
+ application.create();
+ cy.wait("@getApplication");
+ cy.wait(2000);
+ applicationsList.push(application);
+ }
+
+ TaskManager.open();
+ validateTextPresence(TaskManagerColumns.application, applicationsList[0].name);
+ validateTextPresence(TaskManagerColumns.application, applicationsList[1].name);
+ });
+
+ it("Navigation to the task manager page is allowed from the application table", function () {
+ applicationsList[0].openAllTasksLink();
+ validateTextPresence(TaskManagerColumns.application, applicationsList[0].name);
+ validateTextPresence(TaskManagerColumns.application, applicationsList[1].name, false);
+ validateTextPresence(TaskManagerColumns.kind, TaskKind.languageDiscovery);
+ validateTextPresence(TaskManagerColumns.kind, TaskKind.techDiscovery);
+ clearAllFilters();
+ });
+
+ after("Perform test data clean up", function () {
+ cy.wait(2000);
+ Application.open(true);
+ deleteByList(applicationsList);
+ });
+});