From 9f7f9876ffb1109bdb3cacfbdeade397242ca7f3 Mon Sep 17 00:00:00 2001
From: Sverre <sverrefh@stud.ntnu.no>
Date: Mon, 29 Apr 2024 14:33:50 +0200
Subject: [PATCH] Added unit test to CompletedMilestoneDisplay to test
 rendering

---
 .../CompletedMilestoneDisplay.spec.ts         | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 src/components/__tests__/CompletedMilestoneDisplay.spec.ts

diff --git a/src/components/__tests__/CompletedMilestoneDisplay.spec.ts b/src/components/__tests__/CompletedMilestoneDisplay.spec.ts
new file mode 100644
index 0000000..5268d48
--- /dev/null
+++ b/src/components/__tests__/CompletedMilestoneDisplay.spec.ts
@@ -0,0 +1,41 @@
+import { mount } from '@vue/test-utils';
+import CompletedMilestoneDisplay from '../milestone/CompletedMilestoneDisplay.vue'
+import { describe, it, expect } from 'vitest'
+import { nextTick } from 'vue'
+
+describe('CompletedMilestoneDisplay', () => {
+  it('renders with props', async () => {
+    const wrapper = mount(CompletedMilestoneDisplay, {
+      props: {
+        id: 1,
+        title: 'Test Title',
+        description: 'Test Description',
+        goalSum: 1000,
+        currentSum: 500,
+        deadline: new Date('2024-05-01'),
+        startDate: new Date('2024-04-01'),
+        image: 'test.jpg'
+      }
+    });
+
+    expect(wrapper.find('.title').text()).toBe('Test Title');
+
+    expect(wrapper.find('.info').exists()).toBe(true);
+    expect(wrapper.find('.info h4').text()).toBe('Du sparte 500kr');
+
+    await wrapper.trigger('mouseover');
+
+    await nextTick();
+
+    expect(wrapper.find('.info').exists()).toBe(true);
+    expect(wrapper.find('.info h4').text()).toBe('Test Description');
+
+    await wrapper.trigger('mouseleave');
+
+    await nextTick();
+
+    expect(wrapper.find('.info').exists()).toBe(true);
+    expect(wrapper.find('.info h4').text()).toBe('Du sparte 500kr');
+  });
+
+});
-- 
GitLab