From 8e27d1a16d7c1b7e83736940d9176a006c7c9f16 Mon Sep 17 00:00:00 2001
From: Moustafa Banqusli <banqusli@infai.org>
Date: Mon, 25 Oct 2021 10:58:16 +0200
Subject: [PATCH] #373 test diagrams error message

---
 .../sharedFilter/FilterHistoryDiagramCard.vue |  4 +-
 .../unit/FilterHistoryDiagramCard.spec.ts     | 49 +++++++++++++++++++
 2 files changed, 51 insertions(+), 2 deletions(-)
 create mode 100644 app/tests/unit/FilterHistoryDiagramCard.spec.ts

diff --git a/app/src/components/shared/sharedFilter/FilterHistoryDiagramCard.vue b/app/src/components/shared/sharedFilter/FilterHistoryDiagramCard.vue
index e745fad71..90e9bdb4c 100644
--- a/app/src/components/shared/sharedFilter/FilterHistoryDiagramCard.vue
+++ b/app/src/components/shared/sharedFilter/FilterHistoryDiagramCard.vue
@@ -2,7 +2,7 @@
     <v-row>
         <v-col cols="12">
             <v-card>
-                <v-card-title>
+                <v-card-title data-testid="CardTitle">
                     {{ title }}
                 </v-card-title>
 
@@ -14,7 +14,7 @@
                         {{ $t("sharedTable.selectedAreaDiagram") }}
                     </div>
                     <v-container class="justify-center" fluid>
-                        <v-alert v-show="showFailAlert" dismissible transition="fade-transition" type="error">
+                        <v-alert v-show="showFailAlert" dismissible transition="fade-transition" data-testid="ErrorMessage" type="error">
                             {{ errorMessage }}
                         </v-alert>
                     </v-container>
diff --git a/app/tests/unit/FilterHistoryDiagramCard.spec.ts b/app/tests/unit/FilterHistoryDiagramCard.spec.ts
new file mode 100644
index 000000000..6558f764d
--- /dev/null
+++ b/app/tests/unit/FilterHistoryDiagramCard.spec.ts
@@ -0,0 +1,49 @@
+import {expect} from "chai";
+import {Locales} from "@/i18n/locales";
+import {createLocalVue, mount} from "@vue/test-utils";
+import {setupI18n} from "@/plugins/i18n";
+import vuetify from "@/plugins/vuetify";
+import VueRouter from "vue-router";
+import FilterHistoryDiagramsCard from "@/components/shared/sharedFilter/FilterHistoryDiagramCard.vue";
+
+declare const global: any;
+
+describe("FilterHistoryDiagramsCard.vue", () => {
+    global.requestAnimationFrame = (cb: any) => cb();
+    let wrapper: any = null;
+
+    beforeEach(() => {
+        const localVue = createLocalVue();
+        localVue.use(VueRouter);
+        const router = new VueRouter();
+        const i18n = setupI18n(localVue);
+        i18n.locale = Locales.DE;
+
+        wrapper = mount(FilterHistoryDiagramsCard, {
+            i18n,
+            localVue,
+            vuetify,
+            router,
+            stubs: ["VegaLite"],
+            mocks: {
+                $auth: {
+                    isAuthenticated: true,
+                },
+            },
+            propsData: {
+                title: "InspectionCount",
+                errorMessage: "Error",
+                showFailAlert: true,
+            },
+        });
+    });
+    afterEach(() => {
+        wrapper = null;
+    });
+
+    it("FilterHistoryDiagramCard should show error messages and card-title", () => {
+        expect(wrapper.find("[data-testid='CardTitle']").exists()).to.equal(true);
+        expect(wrapper.find("[data-testid='ErrorMessage']").exists()).to.equal(true);
+        expect(wrapper.vm.$props.errorMessage).to.equal("Error");
+    });
+});
-- 
GitLab