Browse Source

feat: Adds test setup

Owen Diffey 8 tháng trước cách đây
mục cha
commit
f10c9183f9
4 tập tin đã thay đổi với 43 bổ sung3 xóa
  1. 10 2
      backend/.eslintrc
  2. 19 0
      backend/package-lock.json
  3. 2 1
      backend/package.json
  4. 12 0
      backend/src/tests/support/setup.ts

+ 10 - 2
backend/.eslintrc

@@ -65,7 +65,11 @@
 		"import/no-extraneous-dependencies": [
 			"error",
 			{
-				"devDependencies": ["**/*.test.ts", "**/*.spec.ts"]
+				"devDependencies": [
+					"**/*.test.ts",
+					"**/*.spec.ts",
+					"src/tests/**/*.ts"
+				]
 			}
 		],
 		"no-restricted-syntax": [
@@ -88,7 +92,11 @@
 	},
 	"overrides": [
 		{
-			"files": ["**/*.test.ts", "**/*.spec.ts"],
+			"files": [
+				"**/*.test.ts",
+				"**/*.spec.ts",
+				"src/tests/**/*.ts"
+			],
 			"rules": {
 				"no-unused-expressions": "off",
 				"prefer-arrow-callback": "off",

+ 19 - 0
backend/package-lock.json

@@ -31,6 +31,7 @@
 				"@faker-js/faker": "^8.4.1",
 				"@microsoft/tsdoc": "^0.14.2",
 				"@types/chai": "^4.3.5",
+				"@types/chai-as-promised": "^7.1.8",
 				"@types/config": "^3.3.0",
 				"@types/express": "^4.17.17",
 				"@types/mocha": "^10.0.1",
@@ -423,6 +424,15 @@
 			"integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==",
 			"dev": true
 		},
+		"node_modules/@types/chai-as-promised": {
+			"version": "7.1.8",
+			"resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz",
+			"integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==",
+			"dev": true,
+			"dependencies": {
+				"@types/chai": "*"
+			}
+		},
 		"node_modules/@types/config": {
 			"version": "3.3.0",
 			"resolved": "https://registry.npmjs.org/@types/config/-/config-3.3.0.tgz",
@@ -5900,6 +5910,15 @@
 			"integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==",
 			"dev": true
 		},
+		"@types/chai-as-promised": {
+			"version": "7.1.8",
+			"resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz",
+			"integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==",
+			"dev": true,
+			"requires": {
+				"@types/chai": "*"
+			}
+		},
 		"@types/config": {
 			"version": "3.3.0",
 			"resolved": "https://registry.npmjs.org/@types/config/-/config-3.3.0.tgz",

+ 2 - 1
backend/package.json

@@ -14,7 +14,7 @@
 		"prod": "node build/app/src/main.js",
 		"lint": "eslint src --ext .js,.ts",
 		"typescript": "tsc --noEmit",
-		"test": "mocha -r ts-node/register -r tsconfig-paths/register -r chai/register-should.js 'tests/**/*.test.ts' 'src/**/*.spec.ts'"
+		"test": "mocha -r ts-node/register -r tsconfig-paths/register 'tests/**/*.test.ts' 'src/**/*.spec.ts'"
 	},
 	"dependencies": {
 		"axios": "^1.4.0",
@@ -39,6 +39,7 @@
 		"@faker-js/faker": "^8.4.1",
 		"@microsoft/tsdoc": "^0.14.2",
 		"@types/chai": "^4.3.5",
+		"@types/chai-as-promised": "^7.1.8",
 		"@types/config": "^3.3.0",
 		"@types/express": "^4.17.17",
 		"@types/mocha": "^10.0.1",

+ 12 - 0
backend/src/tests/support/setup.ts

@@ -0,0 +1,12 @@
+import chai from "chai";
+import chaiAsPromised from "chai-as-promised";
+import sinon from "sinon";
+import sinonChai from "sinon-chai";
+
+chai.should();
+chai.use(sinonChai);
+chai.use(chaiAsPromised);
+
+afterEach(async function () {
+	sinon.reset();
+});