+ {/* Existing lottery components */}
+
+ {/* Placeholder for lottery entry/main functionality */}
+
Lottery
+
+
+ {/* Integrated Lottery History Component */}
+
+
+ );
+};
+
+export default LotteryPage;
\ No newline at end of file
diff --git a/src/setupTests.ts b/src/setupTests.ts
new file mode 100644
index 0000000..9e37976
--- /dev/null
+++ b/src/setupTests.ts
@@ -0,0 +1,15 @@
+import '@testing-library/jest-dom';
+
+// Polyfill for global.document in Vitest
+import { TextEncoder, TextDecoder } from 'util';
+global.TextEncoder = TextEncoder;
+global.TextDecoder = TextDecoder;
+
+// Mock ResizeObserver
+class ResizeObserver {
+ observe() {}
+ unobserve() {}
+ disconnect() {}
+}
+
+global.ResizeObserver = ResizeObserver;
\ No newline at end of file
diff --git a/vitest.config.ts b/vitest.config.ts
new file mode 100644
index 0000000..cde0b44
--- /dev/null
+++ b/vitest.config.ts
@@ -0,0 +1,12 @@
+import { defineConfig } from 'vitest/config';
+import react from '@vitejs/plugin-react';
+
+export default defineConfig({
+ plugins: [react()],
+ test: {
+ globals: true,
+ environment: 'jsdom',
+ setupFiles: ['./src/setupTests.ts'],
+ include: ['**/*.test.{ts,tsx}'],
+ }
+});
\ No newline at end of file