Path: blob/main/components/ws-manager-bridge/src/bridge.spec.ts
2498 views
/**1* Copyright (c) 2024 Gitpod GmbH. All rights reserved.2* Licensed under the GNU Affero General Public License (AGPL).3* See License.AGPL.txt in the project root for license information.4*/56import { suite, test } from "@testdeck/mocha";7import * as chai from "chai";8import { WorkspaceConditions, WorkspaceStatus } from "@gitpod/ws-manager/lib";9import { hasRelevantDiff } from "./bridge";1011const expect = chai.expect;1213function createTestStatus(statusVersion: number, failed: string): WorkspaceStatus {14const conditions = new WorkspaceConditions();15conditions.setFailed(failed);16const status = new WorkspaceStatus();17status.setStatusVersion(statusVersion);18status.setConditions(conditions);19return status;20}2122@suite23class TestBridge {24@test public testWorkspaceStatus_hasRelevantDiff() {25const a = createTestStatus(123, "why on why");26const actual1 = hasRelevantDiff(a, a);27expect(actual1, "identical: no diff").to.be.false;2829const b = createTestStatus(124, "why on why");30const actual2 = hasRelevantDiff(a, b);31expect(actual2, "should be same despite different statusVersion").to.equal(false);3233const c = createTestStatus(125, "because!");34const actual3 = hasRelevantDiff(a, c);35expect(actual3, "different failed condition").to.equal(true);36}37}38module.exports = new TestBridge(); // Only to circumvent no usage warning :-/394041