From 087c621b45c067bcbfe203f6052c6fa511da45ae Mon Sep 17 00:00:00 2001 From: Pavel Strunkin Date: Wed, 31 Mar 2021 10:10:58 +0300 Subject: [PATCH 1/5] test refactoring --- src/_test/stub.helper.ts | 25 +++++- src/_test/test.data.helper.ts | 72 +++++++++++++++- src/pages/LoginPage.spec.tsx | 4 - src/pages/ProfilePage.spec.tsx | 4 +- src/pages/ProjectListPage.spec.tsx | 20 +---- src/pages/ProjectPage.spec.tsx | 13 +-- src/pages/RegisterPage.spec.tsx | 4 - src/pages/TestVariationDetailsPage.spec.tsx | 58 ++++--------- src/pages/TestVariationListPage.spec.tsx | 96 ++++----------------- 9 files changed, 133 insertions(+), 163 deletions(-) diff --git a/src/_test/stub.helper.ts b/src/_test/stub.helper.ts index 203a98b9..61947161 100644 --- a/src/_test/stub.helper.ts +++ b/src/_test/stub.helper.ts @@ -1,5 +1,11 @@ /* global cy */ -import { buildsService, projectsService, testRunService } from "../services"; +import { + buildsService, + projectsService, + testRunService, + staticService, + testVariationService, +} from "../services"; import { Build, Project, TestRun } from "../types"; const projectStub = { @@ -24,4 +30,19 @@ const testRunServiceStub = { cy.stub(testRunService, "getList").resolves(testRuns), }; -export { projectStub, buildsServiceStub, testRunServiceStub }; +const staticServiceStub = { + getImage: () => cy.stub(staticService, "getImage"), +}; + +const testVariationServiceStub = { + getDetails: () => cy.stub(testVariationService, "getDetails"), + getList: () => cy.stub(testVariationService, "getList"), +}; + +export { + projectStub, + buildsServiceStub, + testRunServiceStub, + staticServiceStub, + testVariationServiceStub, +}; diff --git a/src/_test/test.data.helper.ts b/src/_test/test.data.helper.ts index a8567525..479c2628 100644 --- a/src/_test/test.data.helper.ts +++ b/src/_test/test.data.helper.ts @@ -1,7 +1,7 @@ -import { Project, TestRun, User } from "../types"; +import { Project, TestRun, TestVariation, User } from "../types"; import { TestStatus } from "../types/testStatus"; -export const projectMock: Project = { +export const PROJECT_ONE: Project = { id: "someProjectId", name: "Project name", mainBranchName: "Main branch name", @@ -41,3 +41,71 @@ export const testRunMock: TestRun = { baselineBranchName: "baselineBranchName", merge: false, }; + +export const TEST_VARIATION_ONE: TestVariation = { + id: "testVariationId", + name: "test run name", + baselineName: "baselineName.png", + os: "OS", + browser: "browser", + viewport: "viewport", + device: "device", + ignoreAreas: "[]", + comment: "some comment", + branchName: "branch name", + projectId: PROJECT_ONE.id, + baselines: [ + { + id: "some baseline id1", + baselineName: "baseline1.png", + testRunId: "testRunId1", + testVariationId: "some test variation id", + createdAt: "2020-09-14T06:57:25.845Z", + updatedAt: "2020-09-14T06:57:25.845Z", + testRun: testRunMock, + }, + { + id: "some baseline id2", + baselineName: "baseline2.png", + testRunId: "testRunId2", + testVariationId: "some test variation id", + createdAt: "2020-09-12T06:57:25.845Z", + updatedAt: "2020-09-12T06:57:25.845Z", + testRun: testRunMock, + }, + ], +}; + +export const TEST_VARIATION_TWO: TestVariation = { + id: "some test variation id2", + name: "test run name2", + baselineName: "baseline2.png", + os: "OS", + browser: "browser", + viewport: "viewport", + device: "device", + ignoreAreas: "[]", + comment: "some comment", + branchName: "branch name", + projectId: PROJECT_ONE.id, + baselines: [ + { + id: "some baseline id1", + baselineName: "baseline1.png", + testRunId: "testRunId1", + testVariationId: "some test variation id", + createdAt: "2020-09-14T06:57:25.845Z", + updatedAt: "2020-09-14T06:57:25.845Z", + testRun: testRunMock, + }, + { + id: "some baseline id2", + baselineName: "baseline2.png", + testRunId: "testRunId2", + testVariationId: "some test variation id", + createdAt: "2020-09-12T06:57:25.845Z", + updatedAt: "2020-09-12T06:57:25.845Z", + testRun: testRunMock, + }, + ], +}; diff --git a/src/pages/LoginPage.spec.tsx b/src/pages/LoginPage.spec.tsx index ece73515..a7dcfa81 100644 --- a/src/pages/LoginPage.spec.tsx +++ b/src/pages/LoginPage.spec.tsx @@ -2,12 +2,8 @@ import React from "react"; import LoginPage from "./LoginPage"; import { mountVrtComponent } from "../_test/test.moun.helper"; -import { projectStub } from "../_test/stub.helper"; describe("Login page", () => { - before(() => { - projectStub.getAll([]); - }); it("image", () => { mountVrtComponent({ component: , diff --git a/src/pages/ProfilePage.spec.tsx b/src/pages/ProfilePage.spec.tsx index 63bbc26d..efbffd5b 100644 --- a/src/pages/ProfilePage.spec.tsx +++ b/src/pages/ProfilePage.spec.tsx @@ -5,7 +5,7 @@ import { haveUserLogged, haveWindowsEnvSet, } from "../_test/precondition.helper"; -import { projectMock, userMock } from "../_test/test.data.helper"; +import { PROJECT_ONE, userMock } from "../_test/test.data.helper"; import { mountVrtComponent } from "../_test/test.moun.helper"; import { projectStub } from "../_test/stub.helper"; @@ -15,7 +15,7 @@ describe("Profile page", () => { haveWindowsEnvSet({ REACT_APP_API_URL: "http://localhost:4200", }); - projectStub.getAll([projectMock]); + projectStub.getAll([PROJECT_ONE]); }); it("image", () => { diff --git a/src/pages/ProjectListPage.spec.tsx b/src/pages/ProjectListPage.spec.tsx index 5cc2ea34..acfad50a 100644 --- a/src/pages/ProjectListPage.spec.tsx +++ b/src/pages/ProjectListPage.spec.tsx @@ -1,27 +1,13 @@ /* global cy */ import React from "react"; import ProjectListPage from "./ProjectListPage"; -import { projectsService } from "../services"; -import { haveUserLogged } from "../_test/precondition.helper"; -import { userMock } from "../_test/test.data.helper"; +import { PROJECT_ONE } from "../_test/test.data.helper"; import { mountVrtComponent } from "../_test/test.moun.helper"; +import { projectStub } from "../_test/stub.helper"; describe("Project List page", () => { - before(() => { - haveUserLogged(userMock); - }); - it("image", () => { - cy.stub(projectsService, "getAll").resolves([ - { - id: "some id", - name: "Project name", - mainBranchName: "Main branch name", - builds: [], - updatedAt: "2020-09-14T06:57:25.845Z", - createdAt: "2020-09-14T06:57:25.845Z", - }, - ]); + projectStub.getAll([PROJECT_ONE]); mountVrtComponent({ component: , diff --git a/src/pages/ProjectPage.spec.tsx b/src/pages/ProjectPage.spec.tsx index 1d7be755..8d68ab98 100644 --- a/src/pages/ProjectPage.spec.tsx +++ b/src/pages/ProjectPage.spec.tsx @@ -14,21 +14,12 @@ import { testRunServiceStub, } from "../_test/stub.helper"; import { haveUserLogged } from "../_test/precondition.helper"; -import { userMock } from "../_test/test.data.helper"; +import { PROJECT_ONE, userMock } from "../_test/test.data.helper"; describe("Project page", () => { before(() => { haveUserLogged(userMock); - projectStub.getAll([ - { - id: "someProjectId", - name: "Project name", - mainBranchName: "master", - builds: [], - updatedAt: "2020-09-14T06:57:25.845Z", - createdAt: "2020-09-14T06:57:25.845Z", - }, - ]); + projectStub.getAll([PROJECT_ONE]); }); it("image", () => { cy.stub(staticService, "getImage") diff --git a/src/pages/RegisterPage.spec.tsx b/src/pages/RegisterPage.spec.tsx index 6fa8ec0a..41376814 100644 --- a/src/pages/RegisterPage.spec.tsx +++ b/src/pages/RegisterPage.spec.tsx @@ -2,12 +2,8 @@ import React from "react"; import RegisterPage from "./RegisterPage"; import { mountVrtComponent } from "../_test/test.moun.helper"; -import { projectStub } from "../_test/stub.helper"; describe("Register page", () => { - before(() => { - projectStub.getAll([]); - }); it("image", () => { mountVrtComponent({ component: , diff --git a/src/pages/TestVariationDetailsPage.spec.tsx b/src/pages/TestVariationDetailsPage.spec.tsx index 2ad8769c..9c03dd3a 100644 --- a/src/pages/TestVariationDetailsPage.spec.tsx +++ b/src/pages/TestVariationDetailsPage.spec.tsx @@ -1,59 +1,33 @@ /* global cy */ import React from "react"; -import { staticService, testVariationService } from "../services"; import { mountVrtComponent } from "../_test/test.moun.helper"; -import { testRunMock } from "../_test/test.data.helper"; +import { TEST_VARIATION_ONE } from "../_test/test.data.helper"; import TestVariationDetailsPage from "./TestVariationDetailsPage"; import baselineImageMock from "../_test/images/baseline.png"; import imageMock from "../_test/images/screenshot.png"; -import { projectStub } from "../_test/stub.helper"; +import { + staticServiceStub, + testVariationServiceStub, +} from "../_test/stub.helper"; + +const testVariation = TEST_VARIATION_ONE; describe("TestVariationDetailsPage", () => { before(() => { - projectStub.getAll([]); - }); - it("image", () => { - cy.stub(staticService, "getImage") - .withArgs("baseline1.png") + staticServiceStub + .getImage() + .withArgs(testVariation.baselines[0].baselineName) .returns(baselineImageMock) - .withArgs("baseline2.png") + .withArgs(testVariation.baselines[1].baselineName) .returns(imageMock); - cy.stub(testVariationService, "getDetails").resolves({ - id: "some test variation id", - name: "test run name", - baselineName: "baselineName.png", - os: "OS", - browser: "browser", - viewport: "viewport", - device: "device", - ignoreAreas: "[]", - comment: "some comment", - branchName: "branch name", - baselines: [ - { - id: "some baseline id1", - baselineName: "baseline1.png", - testRunId: "testRunId1", - testVariationId: "some test variation id", - createdAt: "2020-09-14T06:57:25.845Z", - updatedAt: "2020-09-14T06:57:25.845Z", - testRun: testRunMock, - }, - { - id: "some baseline id2", - baselineName: "baseline2.png", - testRunId: "testRunId2", - testVariationId: "some test variation id", - createdAt: "2020-09-12T06:57:25.845Z", - updatedAt: "2020-09-12T06:57:25.845Z", - testRun: testRunMock, - }, - ], - }); + testVariationServiceStub.getDetails().resolves(testVariation); + }); + + it("image", () => { mountVrtComponent({ component: , memoryRouterProps: { - initialEntries: ["/someId"], + initialEntries: [`/${testVariation.id}`], }, path: "/:testVariationId", }); diff --git a/src/pages/TestVariationListPage.spec.tsx b/src/pages/TestVariationListPage.spec.tsx index 91c7bbf5..c39c0794 100644 --- a/src/pages/TestVariationListPage.spec.tsx +++ b/src/pages/TestVariationListPage.spec.tsx @@ -1,96 +1,34 @@ /* global cy */ import React from "react"; -import { staticService, testVariationService } from "../services"; import { mountVrtComponent } from "../_test/test.moun.helper"; -import { projectMock, testRunMock, userMock } from "../_test/test.data.helper"; +import { PROJECT_ONE, TEST_VARIATION_TWO } from "../_test/test.data.helper"; import TestVariationListPage from "./TestVariationListPage"; import baselineImageMock from "../_test/images/baseline.png"; import imageMock from "../_test/images/screenshot.png"; -import { projectStub } from "../_test/stub.helper"; -import { haveUserLogged } from "../_test/precondition.helper"; +import { + projectStub, + staticServiceStub, + testVariationServiceStub, +} from "../_test/stub.helper"; describe("TestVariationListPage", () => { before(() => { - haveUserLogged(userMock); - projectStub.getAll([projectMock]); - }); - it("image", () => { - cy.stub(staticService, "getImage") - .withArgs("baseline1.png") + projectStub.getAll([PROJECT_ONE]); + staticServiceStub + .getImage() + .withArgs(TEST_VARIATION_TWO.baselineName) .returns(baselineImageMock) - .withArgs("baseline2.png") + .withArgs(TEST_VARIATION_TWO.baselineName) .returns(imageMock); - - cy.stub(testVariationService, "getList").resolves([ - { - id: "some test variation id", - name: "test run name", - baselineName: "baseline1.png", - os: "OS", - browser: "browser", - viewport: "viewport", - device: "device", - ignoreAreas: "[]", - comment: "some comment", - branchName: "branch name", - baselines: [ - { - id: "some baseline id1", - baselineName: "baseline1.png", - testRunId: "testRunId1", - testVariationId: "some test variation id", - createdAt: "2020-09-14T06:57:25.845Z", - updatedAt: "2020-09-14T06:57:25.845Z", - testRun: testRunMock, - }, - { - id: "some baseline id2", - baselineName: "baseline2.png", - testRunId: "testRunId2", - testVariationId: "some test variation id", - createdAt: "2020-09-12T06:57:25.845Z", - updatedAt: "2020-09-12T06:57:25.845Z", - testRun: testRunMock, - }, - ], - }, - { - id: "some test variation id2", - name: "test run name2", - baselineName: "baseline2.png", - os: "OS", - browser: "browser", - viewport: "viewport", - device: "device", - ignoreAreas: "[]", - comment: "some comment", - branchName: "branch name", - baselines: [ - { - id: "some baseline id1", - baselineName: "baseline1.png", - testRunId: "testRunId1", - testVariationId: "some test variation id", - createdAt: "2020-09-14T06:57:25.845Z", - updatedAt: "2020-09-14T06:57:25.845Z", - testRun: testRunMock, - }, - { - id: "some baseline id2", - baselineName: "baseline2.png", - testRunId: "testRunId2", - testVariationId: "some test variation id", - createdAt: "2020-09-12T06:57:25.845Z", - updatedAt: "2020-09-12T06:57:25.845Z", - testRun: testRunMock, - }, - ], - }, - ]); + testVariationServiceStub + .getList() + .resolves([TEST_VARIATION_TWO, TEST_VARIATION_TWO]); + }); + it("image", () => { mountVrtComponent({ component: , memoryRouterProps: { - initialEntries: [`/${projectMock.id}`], + initialEntries: [`/${PROJECT_ONE.id}`], }, path: "/:projectId", }); From 16771a1e521de206946c450951a457b4ed031ae3 Mon Sep 17 00:00:00 2001 From: Pavel Strunkin Date: Wed, 31 Mar 2021 10:40:54 +0300 Subject: [PATCH 2/5] Update ProjectListPage.spec.tsx --- src/pages/ProjectListPage.spec.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pages/ProjectListPage.spec.tsx b/src/pages/ProjectListPage.spec.tsx index acfad50a..803cb606 100644 --- a/src/pages/ProjectListPage.spec.tsx +++ b/src/pages/ProjectListPage.spec.tsx @@ -1,11 +1,16 @@ /* global cy */ import React from "react"; import ProjectListPage from "./ProjectListPage"; -import { PROJECT_ONE } from "../_test/test.data.helper"; +import { haveUserLogged } from "../_test/precondition.helper"; +import { PROJECT_ONE, userMock } from "../_test/test.data.helper"; import { mountVrtComponent } from "../_test/test.moun.helper"; import { projectStub } from "../_test/stub.helper"; describe("Project List page", () => { + before(() => { + haveUserLogged(userMock); + }); + it("image", () => { projectStub.getAll([PROJECT_ONE]); From 55a7e6e5c99e04ca4c5830749e21fdbce8b9fc40 Mon Sep 17 00:00:00 2001 From: Pavel Strunkin Date: Sat, 3 Apr 2021 23:18:23 +0300 Subject: [PATCH 3/5] refactoring --- src/_test/test.data.helper.ts | 155 +++++++++++++- src/components/Header.spec.tsx | 4 +- src/pages/ProfilePage.spec.tsx | 6 +- src/pages/ProjectListPage.spec.tsx | 9 +- src/pages/ProjectPage.spec.tsx | 250 +++-------------------- src/pages/TestVariationListPage.spec.tsx | 7 +- 6 files changed, 192 insertions(+), 239 deletions(-) diff --git a/src/_test/test.data.helper.ts b/src/_test/test.data.helper.ts index 479c2628..ef69a4a1 100644 --- a/src/_test/test.data.helper.ts +++ b/src/_test/test.data.helper.ts @@ -1,7 +1,8 @@ -import { Project, TestRun, TestVariation, User } from "../types"; +import { Build, Project, TestRun, TestVariation, User } from "../types"; +import { BuildStatus } from "../types/buildStatus"; import { TestStatus } from "../types/testStatus"; -export const PROJECT_ONE: Project = { +export const TEST_PROJECT: Project = { id: "someProjectId", name: "Project name", mainBranchName: "Main branch name", @@ -10,7 +11,7 @@ export const PROJECT_ONE: Project = { createdAt: "2020-09-14T06:57:25.845Z", }; -export const userMock: User = { +export const TEST_USER: User = { id: "1", token: 123567, apiKey: "SOME KEY SECRET", @@ -53,7 +54,7 @@ export const TEST_VARIATION_ONE: TestVariation = { ignoreAreas: "[]", comment: "some comment", branchName: "branch name", - projectId: PROJECT_ONE.id, + projectId: TEST_PROJECT.id, baselines: [ { id: "some baseline id1", @@ -87,7 +88,7 @@ export const TEST_VARIATION_TWO: TestVariation = { ignoreAreas: "[]", comment: "some comment", branchName: "branch name", - projectId: PROJECT_ONE.id, + projectId: TEST_PROJECT.id, baselines: [ { id: "some baseline id1", @@ -109,3 +110,147 @@ export const TEST_VARIATION_TWO: TestVariation = { }, ], }; + +export const TEST_BUILD_FAILED: Build = { + id: "someId", + number: 1, + ciBuildId: "some build id", + projectName: "Project name", + branchName: "Branch name", + status: BuildStatus.failed, + createdAt: "2020-09-14T06:57:25.845Z", + createdBy: "2020-09-14T06:57:25.845Z", + testRuns: [], + unresolvedCount: 0, + passedCount: 2, + failedCount: 1, + isRunning: false, + merge: false, +}; + +export const TEST_BUILD_PASSED: Build = { + id: "someId2", + number: 2, + ciBuildId: "", + projectName: "Project name", + branchName: "Branch name", + status: BuildStatus.passed, + createdAt: "2020-09-14T06:57:25.845Z", + createdBy: "2020-09-14T06:57:25.845Z", + testRuns: [], + unresolvedCount: 0, + passedCount: 2, + failedCount: 0, + isRunning: false, + merge: false, +}; + +export const TEST_BUILD_UNRESOLVED: Build = { + id: "someId3", + number: 3, + ciBuildId: "", + projectName: "Project name", + branchName: "Branch name", + status: BuildStatus.unresolved, + createdAt: "2020-09-14T06:57:25.845Z", + createdBy: "2020-09-14T06:57:25.845Z", + testRuns: [], + unresolvedCount: 2, + passedCount: 0, + failedCount: 0, + isRunning: false, + merge: true, +}; + +export const TEST_UNRESOLVED: TestRun = { + id: "some test run id", + buildId: "some build id", + imageName: "image.png", + diffName: "diff.png", + baselineName: "baseline.png", + diffPercent: 1.24, + diffTollerancePercent: 3.21, + status: TestStatus.unresolved, + testVariationId: "some test variation id", + name: "test run name", + os: "OS", + browser: "browser", + viewport: "viewport", + device: "device", + ignoreAreas: + '[{"id":"1606901916571","x":232,"y":123,"width":166,"height":138}]', + tempIgnoreAreas: '[{"x":100,"y":300,"width":600,"height":700}]', + comment: "some comment", + branchName: "branch name", + baselineBranchName: "baselineBranchName", + merge: false, +}; + +export const TEST_RUN_APPROVED: TestRun = { + id: "some test run id2", + buildId: "some build id", + imageName: "imageName", + diffName: "diffName", + diffPercent: 1.24, + diffTollerancePercent: 3.21, + status: TestStatus.approved, + testVariationId: "some test variation id", + name: "test run name2", + baselineName: "baselineName", + os: "OS", + browser: "browser", + viewport: "viewport", + device: "device", + ignoreAreas: "[]", + tempIgnoreAreas: "[]", + comment: "some comment", + branchName: "branch name", + baselineBranchName: "baselineBranchName", + merge: false, +}; + +export const TEST_RUN_NEW: TestRun = { + id: "some test run id3", + buildId: "some build id", + imageName: "imageName", + diffName: "diffName", + diffPercent: 1.24, + diffTollerancePercent: 3.21, + status: TestStatus.new, + testVariationId: "some test variation id", + name: "test run name3", + baselineName: "baselineName", + os: "", + browser: "", + viewport: "", + device: "", + ignoreAreas: "[]", + tempIgnoreAreas: "[]", + comment: "some comment", + branchName: "branch name", + baselineBranchName: "baselineBranchName", + merge: false, +}; + +export const TEST_RUN_OK: TestRun = { + id: "some test run id4", + buildId: "some build id", + imageName: "imageName", + diffName: "diffName", + diffPercent: 1.24, + diffTollerancePercent: 3.21, + status: TestStatus.ok, + testVariationId: "some test variation id", + name: "test run name4", + baselineName: "baselineName", + os: "", + browser: "", + viewport: "", + device: "", + ignoreAreas: "[]", + tempIgnoreAreas: "[]", + comment: "some comment", + branchName: "branch name", + baselineBranchName: "baselineBranchName", + merge: false, +}; diff --git a/src/components/Header.spec.tsx b/src/components/Header.spec.tsx index 38e64f8c..3ccc4572 100644 --- a/src/components/Header.spec.tsx +++ b/src/components/Header.spec.tsx @@ -5,7 +5,7 @@ import Header from "./Header"; import { AuthProvider } from "../contexts"; import { BrowserRouter } from "react-router-dom"; import { haveUserLogged } from "../_test/precondition.helper"; -import { userMock } from "../_test/test.data.helper"; +import { TEST_USER } from "../_test/test.data.helper"; describe("Header", () => { describe("image", () => { @@ -23,7 +23,7 @@ describe("Header", () => { }); it("Logged", () => { - haveUserLogged(userMock); + haveUserLogged(TEST_USER); mount( diff --git a/src/pages/ProfilePage.spec.tsx b/src/pages/ProfilePage.spec.tsx index efbffd5b..36904365 100644 --- a/src/pages/ProfilePage.spec.tsx +++ b/src/pages/ProfilePage.spec.tsx @@ -5,17 +5,17 @@ import { haveUserLogged, haveWindowsEnvSet, } from "../_test/precondition.helper"; -import { PROJECT_ONE, userMock } from "../_test/test.data.helper"; +import { TEST_PROJECT, TEST_USER } from "../_test/test.data.helper"; import { mountVrtComponent } from "../_test/test.moun.helper"; import { projectStub } from "../_test/stub.helper"; describe("Profile page", () => { before(() => { - haveUserLogged(userMock); + haveUserLogged(TEST_USER); haveWindowsEnvSet({ REACT_APP_API_URL: "http://localhost:4200", }); - projectStub.getAll([PROJECT_ONE]); + projectStub.getAll([TEST_PROJECT]); }); it("image", () => { diff --git a/src/pages/ProjectListPage.spec.tsx b/src/pages/ProjectListPage.spec.tsx index 803cb606..9c989f50 100644 --- a/src/pages/ProjectListPage.spec.tsx +++ b/src/pages/ProjectListPage.spec.tsx @@ -2,17 +2,14 @@ import React from "react"; import ProjectListPage from "./ProjectListPage"; import { haveUserLogged } from "../_test/precondition.helper"; -import { PROJECT_ONE, userMock } from "../_test/test.data.helper"; +import { TEST_PROJECT, TEST_USER } from "../_test/test.data.helper"; import { mountVrtComponent } from "../_test/test.moun.helper"; import { projectStub } from "../_test/stub.helper"; describe("Project List page", () => { - before(() => { - haveUserLogged(userMock); - }); - it("image", () => { - projectStub.getAll([PROJECT_ONE]); + haveUserLogged(TEST_USER); + projectStub.getAll([TEST_PROJECT]); mountVrtComponent({ component: , diff --git a/src/pages/ProjectPage.spec.tsx b/src/pages/ProjectPage.spec.tsx index 8d68ab98..ee3f89ae 100644 --- a/src/pages/ProjectPage.spec.tsx +++ b/src/pages/ProjectPage.spec.tsx @@ -1,9 +1,6 @@ /* global cy */ import React from "react"; import ProjectPage from "./ProjectPage"; -import { staticService } from "../services"; -import { BuildStatus } from "../types/buildStatus"; -import { TestStatus } from "../types/testStatus"; import { mountVrtComponent } from "../_test/test.moun.helper"; import baselineImageMock from "../_test/images/baseline.png"; import imageMock from "../_test/images/screenshot.png"; @@ -12,17 +9,29 @@ import { projectStub, buildsServiceStub, testRunServiceStub, + staticServiceStub, } from "../_test/stub.helper"; import { haveUserLogged } from "../_test/precondition.helper"; -import { PROJECT_ONE, userMock } from "../_test/test.data.helper"; +import { + TEST_BUILD_FAILED, + TEST_BUILD_PASSED, + TEST_BUILD_UNRESOLVED, + TEST_PROJECT, + TEST_RUN_APPROVED, + TEST_RUN_NEW, + TEST_RUN_OK, + TEST_UNRESOLVED, + TEST_USER, +} from "../_test/test.data.helper"; describe("Project page", () => { before(() => { - haveUserLogged(userMock); - projectStub.getAll([PROJECT_ONE]); + haveUserLogged(TEST_USER); + projectStub.getAll([TEST_PROJECT]); }); it("image", () => { - cy.stub(staticService, "getImage") + staticServiceStub + .getImage() .withArgs("baseline.png") .returns(baselineImageMock) .withArgs("image.png") @@ -31,233 +40,34 @@ describe("Project page", () => { .returns(diffMock); buildsServiceStub.getList([ - { - id: "someId", - number: 1, - ciBuildId: "some build id", - projectName: "Project name", - branchName: "Branch name", - status: BuildStatus.failed, - createdAt: "2020-09-14T06:57:25.845Z", - createdBy: "2020-09-14T06:57:25.845Z", - testRuns: [], - unresolvedCount: 0, - passedCount: 2, - failedCount: 1, - isRunning: false, - merge: false, - }, - { - id: "someId2", - number: 2, - ciBuildId: "", - projectName: "Project name", - branchName: "Branch name", - status: BuildStatus.passed, - createdAt: "2020-09-14T06:57:25.845Z", - createdBy: "2020-09-14T06:57:25.845Z", - testRuns: [], - unresolvedCount: 0, - passedCount: 2, - failedCount: 0, - isRunning: false, - merge: false, - }, - { - id: "someId3", - number: 3, - ciBuildId: "", - projectName: "Project name", - branchName: "Branch name", - status: BuildStatus.unresolved, - createdAt: "2020-09-14T06:57:25.845Z", - createdBy: "2020-09-14T06:57:25.845Z", - testRuns: [], - unresolvedCount: 2, - passedCount: 0, - failedCount: 0, - isRunning: false, - merge: true, - }, + TEST_BUILD_FAILED, + TEST_BUILD_PASSED, + TEST_BUILD_UNRESOLVED, ]); - buildsServiceStub.getDetails({ - id: "someId", - number: 1, - ciBuildId: "some build id", - projectName: "Project name", - branchName: "Branch name", - status: BuildStatus.failed, - createdAt: "2020-09-14T06:57:25.845Z", - createdBy: "2020-09-14T06:57:25.845Z", - testRuns: [], - unresolvedCount: 0, - passedCount: 2, - failedCount: 1, - isRunning: false, - merge: false, - }); + buildsServiceStub.getDetails(TEST_BUILD_FAILED); testRunServiceStub.getList([ + TEST_UNRESOLVED, + TEST_RUN_APPROVED, + TEST_RUN_NEW, + TEST_RUN_OK, { - id: "some test run id", - buildId: "some build id", - imageName: "image.png", - diffName: "diff.png", - baselineName: "baseline.png", - diffPercent: 1.24, - diffTollerancePercent: 3.21, - status: TestStatus.unresolved, - testVariationId: "some test variation id", - name: "test run name", - os: "OS", - browser: "browser", - viewport: "viewport", - device: "device", - ignoreAreas: - '[{"id":"1606901916571","x":232,"y":123,"width":166,"height":138}]', - tempIgnoreAreas: '[{"x":100,"y":300,"width":600,"height":700}]', - comment: "some comment", - branchName: "branch name", - baselineBranchName: "baselineBranchName", - merge: false, - }, - { - id: "some test run id2", - buildId: "some build id", - imageName: "imageName", - diffName: "diffName", - diffPercent: 1.24, - diffTollerancePercent: 3.21, - status: TestStatus.approved, - testVariationId: "some test variation id", - name: "test run name2", - baselineName: "baselineName", - os: "OS", - browser: "browser", - viewport: "viewport", - device: "device", - ignoreAreas: "[]", - tempIgnoreAreas: "[]", - comment: "some comment", - branchName: "branch name", - baselineBranchName: "baselineBranchName", - merge: false, - }, - { - id: "some test run id3", - buildId: "some build id", - imageName: "imageName", - diffName: "diffName", - diffPercent: 1.24, - diffTollerancePercent: 3.21, - status: TestStatus.new, - testVariationId: "some test variation id", - name: "test run name3", - baselineName: "baselineName", - os: "", - browser: "", - viewport: "", - device: "", - ignoreAreas: "[]", - tempIgnoreAreas: "[]", - comment: "some comment", - branchName: "branch name", - baselineBranchName: "baselineBranchName", - merge: false, - }, - { - id: "some test run id4", - buildId: "some build id", - imageName: "imageName", - diffName: "diffName", - diffPercent: 1.24, - diffTollerancePercent: 3.21, - status: TestStatus.ok, - testVariationId: "some test variation id", - name: "test run name4", - baselineName: "baselineName", - os: "", - browser: "", - viewport: "", - device: "", - ignoreAreas: "[]", - tempIgnoreAreas: "[]", - comment: "some comment", - branchName: "branch name", - baselineBranchName: "baselineBranchName", - merge: false, - }, - { - id: "some test run id7", - buildId: "some build id", - imageName: "imageName", - diffName: "diffName", - diffPercent: 1.24, - diffTollerancePercent: 3.21, - status: TestStatus.ok, - testVariationId: "some test variation id", - name: "test run name4", - baselineName: "baselineName", - os: "", - browser: "", - viewport: "", - device: "", - ignoreAreas: "[]", - tempIgnoreAreas: "[]", - comment: "some comment", - branchName: "branch name", - baselineBranchName: "baselineBranchName", - merge: false, + ...TEST_RUN_OK, + id: "some test run id5", }, { + ...TEST_RUN_OK, id: "some test run id6", - buildId: "some build id", - imageName: "imageName", - diffName: "diffName", - diffPercent: 1.24, - diffTollerancePercent: 3.21, - status: TestStatus.ok, - testVariationId: "some test variation id", - name: "test run name4", - baselineName: "baselineName", - os: "", - browser: "", - viewport: "", - device: "", - ignoreAreas: "[]", - tempIgnoreAreas: "[]", - comment: "some comment", - branchName: "branch name", - baselineBranchName: "baselineBranchName", - merge: false, }, { - id: "some test run id5", - buildId: "some build id", - imageName: "imageName", - diffName: "diffName", - diffPercent: 1.24, - diffTollerancePercent: 3.21, - status: TestStatus.ok, - testVariationId: "some test variation id", - name: "test run name4", - baselineName: "baselineName", - os: "", - browser: "", - viewport: "", - device: "", - ignoreAreas: "[]", - tempIgnoreAreas: "[]", - comment: "some comment", - branchName: "branch name", - baselineBranchName: "baselineBranchName", - merge: false, + ...TEST_RUN_OK, + id: "some test run id7", }, ]); mountVrtComponent({ component: , memoryRouterProps: { - initialEntries: ["/someProjectId"], + initialEntries: [`/${TEST_PROJECT.id}`], }, path: "/:projectId", }); diff --git a/src/pages/TestVariationListPage.spec.tsx b/src/pages/TestVariationListPage.spec.tsx index c39c0794..984541fe 100644 --- a/src/pages/TestVariationListPage.spec.tsx +++ b/src/pages/TestVariationListPage.spec.tsx @@ -1,7 +1,7 @@ /* global cy */ import React from "react"; import { mountVrtComponent } from "../_test/test.moun.helper"; -import { PROJECT_ONE, TEST_VARIATION_TWO } from "../_test/test.data.helper"; +import { TEST_PROJECT, TEST_VARIATION_TWO } from "../_test/test.data.helper"; import TestVariationListPage from "./TestVariationListPage"; import baselineImageMock from "../_test/images/baseline.png"; import imageMock from "../_test/images/screenshot.png"; @@ -13,7 +13,7 @@ import { describe("TestVariationListPage", () => { before(() => { - projectStub.getAll([PROJECT_ONE]); + projectStub.getAll([TEST_PROJECT]); staticServiceStub .getImage() .withArgs(TEST_VARIATION_TWO.baselineName) @@ -24,11 +24,12 @@ describe("TestVariationListPage", () => { .getList() .resolves([TEST_VARIATION_TWO, TEST_VARIATION_TWO]); }); + it("image", () => { mountVrtComponent({ component: , memoryRouterProps: { - initialEntries: [`/${PROJECT_ONE.id}`], + initialEntries: [`/${TEST_PROJECT.id}`], }, path: "/:projectId", }); From 287130d6d5775b8d9fdef67c79ddc55f05b90691 Mon Sep 17 00:00:00 2001 From: Pavel Strunkin Date: Sat, 3 Apr 2021 23:27:11 +0300 Subject: [PATCH 4/5] fix --- src/_test/test.data.helper.ts | 5 ++--- src/pages/TestVariationListPage.spec.tsx | 8 +++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/_test/test.data.helper.ts b/src/_test/test.data.helper.ts index ef69a4a1..41bfd9c1 100644 --- a/src/_test/test.data.helper.ts +++ b/src/_test/test.data.helper.ts @@ -177,9 +177,8 @@ export const TEST_UNRESOLVED: TestRun = { browser: "browser", viewport: "viewport", device: "device", - ignoreAreas: - '[{"id":"1606901916571","x":232,"y":123,"width":166,"height":138}]', - tempIgnoreAreas: '[{"x":100,"y":300,"width":600,"height":700}]', + ignoreAreas: `[{"id":"1606901916571","x":232,"y":123,"width":166,"height":138}]`, + tempIgnoreAreas: `[{"x":100,"y":300,"width":600,"height":700}]`, comment: "some comment", branchName: "branch name", baselineBranchName: "baselineBranchName", diff --git a/src/pages/TestVariationListPage.spec.tsx b/src/pages/TestVariationListPage.spec.tsx index 984541fe..7cf5ce8b 100644 --- a/src/pages/TestVariationListPage.spec.tsx +++ b/src/pages/TestVariationListPage.spec.tsx @@ -1,7 +1,11 @@ /* global cy */ import React from "react"; import { mountVrtComponent } from "../_test/test.moun.helper"; -import { TEST_PROJECT, TEST_VARIATION_TWO } from "../_test/test.data.helper"; +import { + TEST_PROJECT, + TEST_USER, + TEST_VARIATION_TWO, +} from "../_test/test.data.helper"; import TestVariationListPage from "./TestVariationListPage"; import baselineImageMock from "../_test/images/baseline.png"; import imageMock from "../_test/images/screenshot.png"; @@ -10,9 +14,11 @@ import { staticServiceStub, testVariationServiceStub, } from "../_test/stub.helper"; +import { haveUserLogged } from "../_test/precondition.helper"; describe("TestVariationListPage", () => { before(() => { + haveUserLogged(TEST_USER); projectStub.getAll([TEST_PROJECT]); staticServiceStub .getImage() From 5e6c396b8509dd76568706724c476c9e88e7547a Mon Sep 17 00:00:00 2001 From: Pavel Strunkin Date: Sat, 3 Apr 2021 23:34:51 +0300 Subject: [PATCH 5/5] Update TestVariationListPage.spec.tsx --- src/pages/TestVariationListPage.spec.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pages/TestVariationListPage.spec.tsx b/src/pages/TestVariationListPage.spec.tsx index 7cf5ce8b..935628d7 100644 --- a/src/pages/TestVariationListPage.spec.tsx +++ b/src/pages/TestVariationListPage.spec.tsx @@ -4,6 +4,7 @@ import { mountVrtComponent } from "../_test/test.moun.helper"; import { TEST_PROJECT, TEST_USER, + TEST_VARIATION_ONE, TEST_VARIATION_TWO, } from "../_test/test.data.helper"; import TestVariationListPage from "./TestVariationListPage"; @@ -22,13 +23,13 @@ describe("TestVariationListPage", () => { projectStub.getAll([TEST_PROJECT]); staticServiceStub .getImage() - .withArgs(TEST_VARIATION_TWO.baselineName) + .withArgs(TEST_VARIATION_ONE.baselineName) .returns(baselineImageMock) .withArgs(TEST_VARIATION_TWO.baselineName) .returns(imageMock); testVariationServiceStub .getList() - .resolves([TEST_VARIATION_TWO, TEST_VARIATION_TWO]); + .resolves([TEST_VARIATION_ONE, TEST_VARIATION_TWO]); }); it("image", () => {