diff --git a/tests/unit/components/FormComponent.spec.ts b/components/FormComponent.spec.ts
similarity index 100%
rename from tests/unit/components/FormComponent.spec.ts
rename to components/FormComponent.spec.ts
diff --git a/tests/unit/components/GenericButton.minimal.spec.ts b/components/GenericButton.minimal.spec.ts
similarity index 100%
rename from tests/unit/components/GenericButton.minimal.spec.ts
rename to components/GenericButton.minimal.spec.ts
diff --git a/tests/unit/components/GenericButton.simple.spec.ts b/components/GenericButton.simple.spec.ts
similarity index 100%
rename from tests/unit/components/GenericButton.simple.spec.ts
rename to components/GenericButton.simple.spec.ts
diff --git a/tests/unit/components/MarkdownRenderer.simple.spec.ts b/components/MarkdownRenderer.simple.spec.ts
similarity index 100%
rename from tests/unit/components/MarkdownRenderer.simple.spec.ts
rename to components/MarkdownRenderer.simple.spec.ts
diff --git a/tests/unit/components/TagPicker.spec.ts b/components/TagPicker.spec.ts
similarity index 100%
rename from tests/unit/components/TagPicker.spec.ts
rename to components/TagPicker.spec.ts
diff --git a/tests/unit/components/TextEditor.component.spec.ts b/components/TextEditor.component.spec.ts
similarity index 100%
rename from tests/unit/components/TextEditor.component.spec.ts
rename to components/TextEditor.component.spec.ts
diff --git a/tests/unit/components/TextEditor.spec.ts b/components/TextEditor.spec.ts
similarity index 100%
rename from tests/unit/components/TextEditor.spec.ts
rename to components/TextEditor.spec.ts
diff --git a/tests/unit/components/TextEditor.utility.spec.ts b/components/TextEditor.utility.spec.ts
similarity index 100%
rename from tests/unit/components/TextEditor.utility.spec.ts
rename to components/TextEditor.utility.spec.ts
diff --git a/tests/unit/components/RequireAuth.spec.ts b/components/auth/RequireAuth.spec.ts
similarity index 100%
rename from tests/unit/components/RequireAuth.spec.ts
rename to components/auth/RequireAuth.spec.ts
diff --git a/tests/unit/channel/FontSizeControl.minimal.spec.ts b/components/channel/FontSizeControl.minimal.spec.ts
similarity index 100%
rename from tests/unit/channel/FontSizeControl.minimal.spec.ts
rename to components/channel/FontSizeControl.minimal.spec.ts
diff --git a/tests/unit/components/channel/ForumPicker.spec.ts b/components/channel/ForumPicker.spec.ts
similarity index 100%
rename from tests/unit/components/channel/ForumPicker.spec.ts
rename to components/channel/ForumPicker.spec.ts
diff --git a/tests/unit/components/charts/GithubContributionChart.spec.ts b/components/charts/GithubContributionChart.spec.ts
similarity index 100%
rename from tests/unit/components/charts/GithubContributionChart.spec.ts
rename to components/charts/GithubContributionChart.spec.ts
diff --git a/tests/unit/components/charts/fixtures/contributionData.ts b/components/charts/fixtures/contributionData.ts
similarity index 100%
rename from tests/unit/components/charts/fixtures/contributionData.ts
rename to components/charts/fixtures/contributionData.ts
diff --git a/tests/unit/components/comments/Comment.spec.ts b/components/comments/Comment.spec.ts
similarity index 100%
rename from tests/unit/components/comments/Comment.spec.ts
rename to components/comments/Comment.spec.ts
diff --git a/tests/unit/components/comments/CommentSection.spec.ts b/components/comments/CommentSection.spec.ts
similarity index 100%
rename from tests/unit/components/comments/CommentSection.spec.ts
rename to components/comments/CommentSection.spec.ts
diff --git a/tests/unit/components/discussion/form/CreateEditDiscussionFields.spec.ts b/components/discussion/form/CreateEditDiscussionFields.spec.ts
similarity index 100%
rename from tests/unit/components/discussion/form/CreateEditDiscussionFields.spec.ts
rename to components/discussion/form/CreateEditDiscussionFields.spec.ts
diff --git a/tests/unit/components/event/form/CreateEditEventFields.spec.ts b/components/event/form/CreateEditEventFields.spec.ts
similarity index 100%
rename from tests/unit/components/event/form/CreateEditEventFields.spec.ts
rename to components/event/form/CreateEditEventFields.spec.ts
diff --git a/tests/unit/components/event/form/DateTimePickersRow.spec.ts b/components/event/form/DateTimePickersRow.spec.ts
similarity index 100%
rename from tests/unit/components/event/form/DateTimePickersRow.spec.ts
rename to components/event/form/DateTimePickersRow.spec.ts
diff --git a/tests/unit/mod/BrokenRulesModal.spec.ts b/components/mod/BrokenRulesModal.spec.ts
similarity index 100%
rename from tests/unit/mod/BrokenRulesModal.spec.ts
rename to components/mod/BrokenRulesModal.spec.ts
diff --git a/tests/unit/components/mod/ModerationWizard.spec.ts b/components/mod/ModerationWizard.spec.ts
similarity index 100%
rename from tests/unit/components/mod/ModerationWizard.spec.ts
rename to components/mod/ModerationWizard.spec.ts
diff --git a/tests/unit/nav/Topnav.minimal.spec.ts b/components/nav/Topnav.minimal.spec.ts
similarity index 100%
rename from tests/unit/nav/Topnav.minimal.spec.ts
rename to components/nav/Topnav.minimal.spec.ts
diff --git a/tests/unit/auth/authHintSynchronization.spec.ts b/composables/auth/authHintSynchronization.spec.ts
similarity index 100%
rename from tests/unit/auth/authHintSynchronization.spec.ts
rename to composables/auth/authHintSynchronization.spec.ts
diff --git a/tests/unit/composables/useSSRAuth.spec.ts b/composables/useSSRAuth.spec.ts
similarity index 100%
rename from tests/unit/composables/useSSRAuth.spec.ts
rename to composables/useSSRAuth.spec.ts
diff --git a/tests/unit/composables/useTheme.spec.ts b/composables/useTheme.spec.ts
similarity index 100%
rename from tests/unit/composables/useTheme.spec.ts
rename to composables/useTheme.spec.ts
diff --git a/package-lock.json b/package-lock.json
index e101a3d3..ffd32921 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -103,7 +103,7 @@
"@types/webpack-env": "^1.18.8",
"@typescript-eslint/eslint-plugin": "latest",
"@typescript-eslint/parser": "latest",
- "@vitejs/plugin-vue": "^5.2.3",
+ "@vitejs/plugin-vue": "^5.2.4",
"@vue/eslint-config-typescript": "^13.0.0",
"@vue/test-utils": "^2.4.6",
"cypress": "^14.3.2",
@@ -114,7 +114,7 @@
"eslint-plugin-vue": "^9.33.0",
"eslint-plugin-vuejs-accessibility": "^2.4.1",
"globals": "^15.15.0",
- "happy-dom": "^17.4.4",
+ "happy-dom": "^17.6.3",
"husky": "^9.1.7",
"jsdom": "^26.1.0",
"prettier": "^3.5.3",
@@ -125,7 +125,7 @@
"vite": "^6.2.3",
"vite-plugin-checker": "0.9.1",
"vite-plugin-prismjs": "^0.0.11",
- "vitest": "^3.1.2",
+ "vitest": "^3.2.4",
"vue-class-component": "^8.0.0-rc.1",
"vue-tsc": "^2.2.8",
"webpack": "^5.98.0"
@@ -6514,6 +6514,16 @@
"@types/node": "*"
}
},
+ "node_modules/@types/chai": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz",
+ "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/deep-eql": "*"
+ }
+ },
"node_modules/@types/compression": {
"version": "1.7.5",
"resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.5.tgz",
@@ -6541,6 +6551,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/deep-eql": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
+ "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/diff-match-patch": {
"version": "1.0.36",
"resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.36.tgz",
@@ -7369,9 +7386,9 @@
}
},
"node_modules/@vitejs/plugin-vue": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz",
- "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==",
+ "version": "5.2.4",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz",
+ "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==",
"license": "MIT",
"engines": {
"node": "^18.0.0 || >=20.0.0"
@@ -7400,14 +7417,15 @@
}
},
"node_modules/@vitest/expect": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.2.tgz",
- "integrity": "sha512-O8hJgr+zREopCAqWl3uCVaOdqJwZ9qaDwUP7vy3Xigad0phZe9APxKhPcDNqYYi0rX5oMvwJMSCAXY2afqeTSA==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz",
+ "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "3.1.2",
- "@vitest/utils": "3.1.2",
+ "@types/chai": "^5.2.2",
+ "@vitest/spy": "3.2.4",
+ "@vitest/utils": "3.2.4",
"chai": "^5.2.0",
"tinyrainbow": "^2.0.0"
},
@@ -7416,13 +7434,13 @@
}
},
"node_modules/@vitest/mocker": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.2.tgz",
- "integrity": "sha512-kOtd6K2lc7SQ0mBqYv/wdGedlqPdM/B38paPY+OwJ1XiNi44w3Fpog82UfOibmHaV9Wod18A09I9SCKLyDMqgw==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz",
+ "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "3.1.2",
+ "@vitest/spy": "3.2.4",
"estree-walker": "^3.0.3",
"magic-string": "^0.30.17"
},
@@ -7431,7 +7449,7 @@
},
"peerDependencies": {
"msw": "^2.4.9",
- "vite": "^5.0.0 || ^6.0.0"
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
},
"peerDependenciesMeta": {
"msw": {
@@ -7453,9 +7471,9 @@
}
},
"node_modules/@vitest/pretty-format": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.2.tgz",
- "integrity": "sha512-R0xAiHuWeDjTSB3kQ3OQpT8Rx3yhdOAIm/JM4axXxnG7Q/fS8XUwggv/A4xzbQA+drYRjzkMnpYnOGAc4oeq8w==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
+ "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7466,27 +7484,28 @@
}
},
"node_modules/@vitest/runner": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.2.tgz",
- "integrity": "sha512-bhLib9l4xb4sUMPXnThbnhX2Yi8OutBMA8Yahxa7yavQsFDtwY/jrUZwpKp2XH9DhRFJIeytlyGpXCqZ65nR+g==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz",
+ "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/utils": "3.1.2",
- "pathe": "^2.0.3"
+ "@vitest/utils": "3.2.4",
+ "pathe": "^2.0.3",
+ "strip-literal": "^3.0.0"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/snapshot": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.2.tgz",
- "integrity": "sha512-Q1qkpazSF/p4ApZg1vfZSQ5Yw6OCQxVMVrLjslbLFA1hMDrT2uxtqMaw8Tc/jy5DLka1sNs1Y7rBcftMiaSH/Q==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz",
+ "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "3.1.2",
+ "@vitest/pretty-format": "3.2.4",
"magic-string": "^0.30.17",
"pathe": "^2.0.3"
},
@@ -7495,27 +7514,27 @@
}
},
"node_modules/@vitest/spy": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.2.tgz",
- "integrity": "sha512-OEc5fSXMws6sHVe4kOFyDSj/+4MSwst0ib4un0DlcYgQvRuYQ0+M2HyqGaauUMnjq87tmUaMNDxKQx7wNfVqPA==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz",
+ "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "tinyspy": "^3.0.2"
+ "tinyspy": "^4.0.3"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/utils": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.2.tgz",
- "integrity": "sha512-5GGd0ytZ7BH3H6JTj9Kw7Prn1Nbg0wZVrIvou+UWxm54d+WoXXgAgjFJ8wn3LdagWLFSEfpPeyYrByZaGEZHLg==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz",
+ "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/pretty-format": "3.1.2",
- "loupe": "^3.1.3",
+ "@vitest/pretty-format": "3.2.4",
+ "loupe": "^3.1.4",
"tinyrainbow": "^2.0.0"
},
"funding": {
@@ -9814,9 +9833,9 @@
"license": "Apache-2.0"
},
"node_modules/chai": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz",
- "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz",
+ "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9827,7 +9846,7 @@
"pathval": "^2.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/chalk": {
@@ -11192,9 +11211,9 @@
"license": "MIT"
},
"node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
@@ -14712,9 +14731,9 @@
"license": "MIT"
},
"node_modules/happy-dom": {
- "version": "17.4.4",
- "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-17.4.4.tgz",
- "integrity": "sha512-/Pb0ctk3HTZ5xEL3BZ0hK1AqDSAUuRQitOmROPHhfUYEWpmTImwfD8vFDGADmMAX0JYgbcgxWoLFKtsWhcpuVA==",
+ "version": "17.6.3",
+ "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-17.6.3.tgz",
+ "integrity": "sha512-UVIHeVhxmxedbWPCfgS55Jg2rDfwf2BCKeylcPSqazLz5w3Kri7Q4xdBJubsr/+VUzFLh0VjIvh13RaDA2/Xug==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -14722,7 +14741,7 @@
"whatwg-mimetype": "^3.0.0"
},
"engines": {
- "node": ">=18.0.0"
+ "node": ">=20.0.0"
}
},
"node_modules/happy-dom/node_modules/webidl-conversions": {
@@ -17312,9 +17331,9 @@
}
},
"node_modules/loupe": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz",
- "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==",
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz",
+ "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==",
"dev": true,
"license": "MIT"
},
@@ -19418,9 +19437,9 @@
"license": "MIT"
},
"node_modules/pathval": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz",
- "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz",
+ "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -23388,9 +23407,9 @@
"license": "MIT"
},
"node_modules/tinyglobby": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
- "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
+ "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
"license": "MIT",
"dependencies": {
"fdir": "^6.4.4",
@@ -23404,9 +23423,9 @@
}
},
"node_modules/tinypool": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz",
- "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz",
+ "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -23424,9 +23443,9 @@
}
},
"node_modules/tinyspy": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz",
- "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz",
+ "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -24626,16 +24645,16 @@
}
},
"node_modules/vite-node": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.2.tgz",
- "integrity": "sha512-/8iMryv46J3aK13iUXsei5G/A3CUlW4665THCPS+K8xAaqrVWiGB4RfXMQXCLjpK9P2eK//BczrVkn5JLAk6DA==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz",
+ "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==",
"license": "MIT",
"dependencies": {
"cac": "^6.7.14",
- "debug": "^4.4.0",
- "es-module-lexer": "^1.6.0",
+ "debug": "^4.4.1",
+ "es-module-lexer": "^1.7.0",
"pathe": "^2.0.3",
- "vite": "^5.0.0 || ^6.0.0"
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
},
"bin": {
"vite-node": "vite-node.mjs"
@@ -24973,32 +24992,34 @@
}
},
"node_modules/vitest": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.2.tgz",
- "integrity": "sha512-WaxpJe092ID1C0mr+LH9MmNrhfzi8I65EX/NRU/Ld016KqQNRgxSOlGNP1hHN+a/F8L15Mh8klwaF77zR3GeDQ==",
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz",
+ "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/expect": "3.1.2",
- "@vitest/mocker": "3.1.2",
- "@vitest/pretty-format": "^3.1.2",
- "@vitest/runner": "3.1.2",
- "@vitest/snapshot": "3.1.2",
- "@vitest/spy": "3.1.2",
- "@vitest/utils": "3.1.2",
+ "@types/chai": "^5.2.2",
+ "@vitest/expect": "3.2.4",
+ "@vitest/mocker": "3.2.4",
+ "@vitest/pretty-format": "^3.2.4",
+ "@vitest/runner": "3.2.4",
+ "@vitest/snapshot": "3.2.4",
+ "@vitest/spy": "3.2.4",
+ "@vitest/utils": "3.2.4",
"chai": "^5.2.0",
- "debug": "^4.4.0",
+ "debug": "^4.4.1",
"expect-type": "^1.2.1",
"magic-string": "^0.30.17",
"pathe": "^2.0.3",
+ "picomatch": "^4.0.2",
"std-env": "^3.9.0",
"tinybench": "^2.9.0",
"tinyexec": "^0.3.2",
- "tinyglobby": "^0.2.13",
- "tinypool": "^1.0.2",
+ "tinyglobby": "^0.2.14",
+ "tinypool": "^1.1.1",
"tinyrainbow": "^2.0.0",
- "vite": "^5.0.0 || ^6.0.0",
- "vite-node": "3.1.2",
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0",
+ "vite-node": "3.2.4",
"why-is-node-running": "^2.3.0"
},
"bin": {
@@ -25014,8 +25035,8 @@
"@edge-runtime/vm": "*",
"@types/debug": "^4.1.12",
"@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
- "@vitest/browser": "3.1.2",
- "@vitest/ui": "3.1.2",
+ "@vitest/browser": "3.2.4",
+ "@vitest/ui": "3.2.4",
"happy-dom": "*",
"jsdom": "*"
},
diff --git a/package.json b/package.json
index 6d22afec..58248a66 100644
--- a/package.json
+++ b/package.json
@@ -120,7 +120,7 @@
"@types/webpack-env": "^1.18.8",
"@typescript-eslint/eslint-plugin": "latest",
"@typescript-eslint/parser": "latest",
- "@vitejs/plugin-vue": "^5.2.3",
+ "@vitejs/plugin-vue": "^5.2.4",
"@vue/eslint-config-typescript": "^13.0.0",
"@vue/test-utils": "^2.4.6",
"cypress": "^14.3.2",
@@ -131,7 +131,7 @@
"eslint-plugin-vue": "^9.33.0",
"eslint-plugin-vuejs-accessibility": "^2.4.1",
"globals": "^15.15.0",
- "happy-dom": "^17.4.4",
+ "happy-dom": "^17.6.3",
"husky": "^9.1.7",
"jsdom": "^26.1.0",
"prettier": "^3.5.3",
@@ -142,7 +142,7 @@
"vite": "^6.2.3",
"vite-plugin-checker": "0.9.1",
"vite-plugin-prismjs": "^0.0.11",
- "vitest": "^3.1.2",
+ "vitest": "^3.2.4",
"vue-class-component": "^8.0.0-rc.1",
"vue-tsc": "^2.2.8",
"webpack": "^5.98.0"
diff --git a/tests/unit/stores/uiStore.component-integration.spec.ts b/stores/uiStore.component-integration.spec.ts
similarity index 100%
rename from tests/unit/stores/uiStore.component-integration.spec.ts
rename to stores/uiStore.component-integration.spec.ts
diff --git a/tests/unit/stores/uiStore.integration.spec.ts b/stores/uiStore.integration.spec.ts
similarity index 100%
rename from tests/unit/stores/uiStore.integration.spec.ts
rename to stores/uiStore.integration.spec.ts
diff --git a/tests/unit/stores/uiStore.spec.ts b/stores/uiStore.spec.ts
similarity index 100%
rename from tests/unit/stores/uiStore.spec.ts
rename to stores/uiStore.spec.ts
diff --git a/tests/unit/components/event/form/DateTimePickersRow.vue b/tests/unit/components/event/form/DateTimePickersRow.vue
deleted file mode 100644
index 15a970f2..00000000
--- a/tests/unit/components/event/form/DateTimePickersRow.vue
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
-
-
-
-
- Start Time
-
-
-
-
-
-
-
-
-
-
-
-
- End Time
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tests/unit/utils/getDiscussionFilterValuesFromParams.spec.ts b/utils/getDiscussionFilterValuesFromParams.spec.ts
similarity index 100%
rename from tests/unit/utils/getDiscussionFilterValuesFromParams.spec.ts
rename to utils/getDiscussionFilterValuesFromParams.spec.ts
diff --git a/tests/unit/utils/getEventFilterValuesFromParams.spec.ts b/utils/getEventFilterValuesFromParams.spec.ts
similarity index 100%
rename from tests/unit/utils/getEventFilterValuesFromParams.spec.ts
rename to utils/getEventFilterValuesFromParams.spec.ts
diff --git a/tests/unit/utils/headerPermissionUtils.spec.ts b/utils/headerPermissionUtils.spec.ts
similarity index 99%
rename from tests/unit/utils/headerPermissionUtils.spec.ts
rename to utils/headerPermissionUtils.spec.ts
index 154a6782..f6d822f3 100644
--- a/tests/unit/utils/headerPermissionUtils.spec.ts
+++ b/utils/headerPermissionUtils.spec.ts
@@ -3,7 +3,7 @@ import {
getDiscussionHeaderMenuItems,
getEventHeaderMenuItems,
getCommentAuthorStatus
-} from '@/utils/headerPermissionUtils'
+} from './headerPermissionUtils'
describe('headerPermissionUtils', () => {
describe('getDiscussionHeaderMenuItems', () => {
diff --git a/tests/unit/utils/permissionUtils.spec.ts b/utils/permissionUtils.spec.ts
similarity index 100%
rename from tests/unit/utils/permissionUtils.spec.ts
rename to utils/permissionUtils.spec.ts
diff --git a/tests/unit/utils/routerUtils.spec.ts b/utils/routerUtils.spec.ts
similarity index 100%
rename from tests/unit/utils/routerUtils.spec.ts
rename to utils/routerUtils.spec.ts
diff --git a/tests/unit/utils/textFormatting.spec.ts b/utils/textFormatting.spec.ts
similarity index 100%
rename from tests/unit/utils/textFormatting.spec.ts
rename to utils/textFormatting.spec.ts