diff --git a/src/frontend/package.json b/src/frontend/package.json
index ac9f85ee11..c192510b6d 100755
--- a/src/frontend/package.json
+++ b/src/frontend/package.json
@@ -7,7 +7,10 @@
"build:start": "cd dist && PORT=8080 npx serve",
"start": "env-cmd -f .env.dev vite dev",
"start:live": "vite dev",
- "test": "vitest tests/",
+ "test": "vitest",
+ "test:watch": "vitest --watch",
+ "test:ui": "vitest --ui",
+ "test:coverage": "vitest --coverage",
"lint": "eslint --fix --ext .js,.jsx,.ts,.tsx src"
},
"license": "GPL-3.0-only",
diff --git a/src/frontend/src/components/__test__/Button.test.jsx b/src/frontend/src/components/__test__/Button.test.jsx
new file mode 100644
index 0000000000..68fd096221
--- /dev/null
+++ b/src/frontend/src/components/__test__/Button.test.jsx
@@ -0,0 +1,69 @@
+import { describe, expect, test } from 'vitest';
+import { render, screen, fireEvent } from '@testing-library/react';
+import Button from '../common/Button';
+import { useState } from 'react';
+
+describe('Button', () => {
+ test('renders', () => {
+ render();
+ expect(screen.getByText('NEXT')).toBeDefined();
+ });
+ /**
+ * Test suite for the Button component
+ */
+ describe('Button', () => {
+ /**
+ * Test to verify that the Button component renders with the correct text
+ */
+ test('renders', () => {
+ render();
+ expect(screen.getByText('NEXT')).toBeDefined();
+ });
+
+ /**
+ * Test to verify that the count increases when the button is clicked
+ */
+ test('should increase count by 1', () => {
+ // Arrange
+ const ButtonWithCount = () => {
+ const [count, setCount] = useState(0);
+ return (
+ <>
+
{count}
+
+