Commit e56bbbdd authored by Assunta DeSanto's avatar Assunta DeSanto
Browse files

adding terminal states to v-if and putting values in tooltips, updating tests and adding test case

parent d4771e8c
Loading
Loading
Loading
Loading
+20 −7
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ describe("CollectionProgress", () => {
            localVue,
        });
        await wrapper.vm.$nextTick();
        expect(wrapper.find(".progress").find(".bg-warning").text()).toBe("3");
        expect(wrapper.find(".progress").find(".bg-warning").attributes("aria-valuenow")).toBe("3");
    });

    it("should correctly display states", async () => {
@@ -31,9 +31,9 @@ describe("CollectionProgress", () => {
            localVue,
        });
        await wrapper.vm.$nextTick();
        expect(wrapper.find(".progress").find(".bg-warning").text()).toBe("3");
        expect(wrapper.find(".progress").find(".bg-success").text()).toBe("1");
        expect(wrapper.find(".progress").find(".bg-danger").text()).toBe("1");
        expect(wrapper.find(".progress").find(".bg-warning").attributes("aria-valuenow")).toBe("3");
        expect(wrapper.find(".progress").find(".bg-success").attributes("aria-valuenow")).toBe("1");
        expect(wrapper.find(".progress").find(".bg-danger").attributes("aria-valuenow")).toBe("1");
    });

    it("should update as dataset states change", async () => {
@@ -46,13 +46,26 @@ describe("CollectionProgress", () => {
            localVue,
        });
        await wrapper.vm.$nextTick();
        expect(wrapper.find(".progress").find(".bg-warning").text()).toBe("3");
        expect(wrapper.find(".progress").find(".bg-warning").attributes("aria-valuenow")).toBe("3");
        dsc["job_state_summary"]["ok"] = 2;
        dsc["job_state_summary"]["running"] = 1;
        jobStateSummary = new JobStateSummary(dsc);
        await wrapper.setProps({ summary: jobStateSummary });
        await wrapper.vm.$nextTick();
        expect(wrapper.find(".progress").find(".bg-warning").text()).toBe("1");
        expect(wrapper.find(".progress").find(".bg-success").text()).toBe("2");
        expect(wrapper.find(".progress").find(".bg-warning").attributes("aria-valuenow")).toBe("1");
        expect(wrapper.find(".progress").find(".bg-success").attributes("aria-valuenow")).toBe("2");
    });

    it("should be visible when all jobs are queued", async () => {
        const dsc = { job_state_summary: { all_jobs: 3, queued: 3 }, populated_state: {} };
        const jobStateSummary = new JobStateSummary(dsc);
        wrapper = mount(CollectionProgress, {
            propsData: {
                summary: jobStateSummary,
            },
            localVue,
        });
        await wrapper.vm.$nextTick();
        expect(wrapper.find(".progress").find(".bg-secondary").attributes("aria-valuenow")).toBe("3");
    });
});
+9 −5
Original line number Diff line number Diff line
@@ -3,11 +3,15 @@ at components/JobStates/CollectionJobStates but it relies on the backbone data
model, so probably has to go eventually.-->
<template>
    <div class="collection-progress">
        <b-progress v-if="maxJobs && runningJobs" :max="maxJobs" show-value>
            <b-progress-bar v-if="errorJobs" :value="errorJobs" variant="danger" />
            <b-progress-bar v-if="okJobs" :value="okJobs" variant="success" />
            <b-progress-bar v-if="runningJobs" :value="runningJobs" variant="warning" />
            <b-progress-bar v-if="waitingJobs" :value="waitingJobs" variant="secondary" />
        <b-progress v-if="maxJobs != okJobs + errorJobs" :max="maxJobs">
            <b-progress-bar v-if="errorJobs" :value="errorJobs" variant="danger" v-b-tooltip.hover="errorJobs" />
            <b-progress-bar v-if="okJobs" :value="okJobs" variant="success" v-b-tooltip.hover="okJobs" />
            <b-progress-bar v-if="runningJobs" :value="runningJobs" variant="warning" v-b-tooltip.hover="runningJobs" />
            <b-progress-bar
                v-if="waitingJobs"
                :value="waitingJobs"
                variant="secondary"
                v-b-tooltip.hover="waitingJobs" />
        </b-progress>
    </div>
</template>