forked from fr/deguapp
		
	Pending
This commit is contained in:
		| @@ -13,7 +13,7 @@ | |||||||
| 		"clean": "rimraf dist", | 		"clean": "rimraf dist", | ||||||
| 		"copy-assets": "ts-node src/utils/copyAssets", | 		"copy-assets": "ts-node src/utils/copyAssets", | ||||||
| 		"build": "npm-run-all clean tsc copy-assets", | 		"build": "npm-run-all clean tsc copy-assets", | ||||||
| 		"test": "mocha --config .mocharc.json --watch src/**/*.test.ts", | 		"test": "npx jest . --runInBand", | ||||||
| 		"format": "npx prettier --write ." | 		"format": "npx prettier --write ." | ||||||
| 	}, | 	}, | ||||||
| 	"author": "Filip Rojek", | 	"author": "Filip Rojek", | ||||||
| @@ -29,33 +29,38 @@ | |||||||
| 		"path": "^0.12.7" | 		"path": "^0.12.7" | ||||||
| 	}, | 	}, | ||||||
| 	"devDependencies": { | 	"devDependencies": { | ||||||
|  | 		"@biomejs/biome": "1.7.1", | ||||||
| 		"@types/chai": "^4.2.22", | 		"@types/chai": "^4.2.22", | ||||||
| 		"@types/express": "^4.17.21", | 		"@types/express": "^4.17.21", | ||||||
| 		"@types/fs-extra": "^9.0.13", | 		"@types/fs-extra": "^9.0.13", | ||||||
| 		"@types/inquirer": "^8.1.3", | 		"@types/inquirer": "^8.1.3", | ||||||
|  | 		"@types/jest": "^29.5.12", | ||||||
| 		"@types/mocha": "^9.0.0", | 		"@types/mocha": "^9.0.0", | ||||||
| 		"@types/morgan": "^1.9.9", | 		"@types/morgan": "^1.9.9", | ||||||
| 		"@types/shelljs": "^0.8.11", | 		"@types/shelljs": "^0.8.11", | ||||||
|  | 		"@types/supertest": "^6.0.2", | ||||||
| 		"@typescript-eslint/eslint-plugin": "^5.5.0", | 		"@typescript-eslint/eslint-plugin": "^5.5.0", | ||||||
| 		"@typescript-eslint/parser": "^5.5.0", | 		"@typescript-eslint/parser": "^5.5.0", | ||||||
| 		"chai": "^4.3.4", | 		"chai": "^4.3.4", | ||||||
| 		"eslint": "^8.3.0", | 		"eslint": "^8.3.0", | ||||||
| 		"http": "^0.0.1-security", | 		"http": "^0.0.1-security", | ||||||
|  | 		"jest": "^29.7.0", | ||||||
| 		"mocha": "^9.1.3", | 		"mocha": "^9.1.3", | ||||||
| 		"npm-run-all": "^4.1.5", | 		"npm-run-all": "^4.1.5", | ||||||
| 		"prettier": "^2.7.1", | 		"prettier": "^2.7.1", | ||||||
| 		"rimraf": "^3.0.2", | 		"rimraf": "^3.0.2", | ||||||
| 		"shelljs": "^0.8.5", | 		"shelljs": "^0.8.5", | ||||||
|  | 		"supertest": "^7.0.0", | ||||||
|  | 		"ts-jest": "^29.1.2", | ||||||
| 		"ts-node": "^10.9.2", | 		"ts-node": "^10.9.2", | ||||||
| 		"tsx": "^4.7.3", | 		"tsx": "^4.7.3", | ||||||
| 		"typescript": "^4.5.2" | 		"typescript": "^4.5.2" | ||||||
| 	}, | 	}, | ||||||
| 	"repository": { | 	"jest": { | ||||||
| 		"type": "git", | 		"preset": "ts-jest", | ||||||
| 		"url": "git+https://github.com/filiprojek/nork.git" | 		"testEnvironment": "node", | ||||||
| 	}, | 		"setupFilesAfterEnv": [ | ||||||
| 	"bugs": { | 			"./tests/_setupFile.ts" | ||||||
| 		"url": "https://github.com/filiprojek/nork/issues" | 		] | ||||||
| 	}, | 	} | ||||||
| 	"homepage": "https://github.com/filiprojek/nork/blob/master/README.md" |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| import { Request, Response } from "express"; | import { Request, Response } from "express"; | ||||||
|  |  | ||||||
| export function login_post(req: Request, res: Response) { | export function signup_post(req: Request, res: Response) { | ||||||
|   res.send("logged in"); |   res.send("logged in"); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ const router = Router(); | |||||||
|  |  | ||||||
| //const mws = [requireAuth, handleValidation.handleValidationError]; | //const mws = [requireAuth, handleValidation.handleValidationError]; | ||||||
|  |  | ||||||
| router.post("/login", authController.login_post); | router.post("/signup", authController.signup_post); | ||||||
|  |  | ||||||
| //router.post( | //router.post( | ||||||
| //  "/login", | //  "/login", | ||||||
|   | |||||||
							
								
								
									
										48
									
								
								api/src/utils/test_mariadb.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								api/src/utils/test_mariadb.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | |||||||
|  | import { Sequelize } from 'sequelize'; | ||||||
|  |  | ||||||
|  | let sequelize: Sequelize | null = null; | ||||||
|  |  | ||||||
|  | const connectDB = async () => { | ||||||
|  |   sequelize = new Sequelize({ | ||||||
|  |     dialect: 'mariadb', | ||||||
|  |     host: 'localhost', | ||||||
|  |     username: 'your_username', | ||||||
|  |     password: 'your_password', | ||||||
|  |     database: 'your_database', | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  |   try { | ||||||
|  |     await sequelize.authenticate(); | ||||||
|  |     console.log('Connection to the database has been established successfully.'); | ||||||
|  |   } catch (error) { | ||||||
|  |     console.error('Unable to connect to the database:', error); | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | const dropDB = async () => { | ||||||
|  |   if (sequelize) { | ||||||
|  |     try { | ||||||
|  |       await sequelize.drop(); | ||||||
|  |       console.log('Database dropped successfully.'); | ||||||
|  |     } catch (error) { | ||||||
|  |       console.error('Error dropping database:', error); | ||||||
|  |     } finally { | ||||||
|  |       await sequelize.close(); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | const dropTables = async () => { | ||||||
|  |   if (sequelize) { | ||||||
|  |     try { | ||||||
|  |       await sequelize.sync({ force: true }); | ||||||
|  |       console.log('All tables dropped successfully.'); | ||||||
|  |     } catch (error) { | ||||||
|  |       console.error('Error dropping tables:', error); | ||||||
|  |     } finally { | ||||||
|  |       await sequelize.close(); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | export { connectDB, dropDB, dropTables }; | ||||||
							
								
								
									
										9
									
								
								api/tests/_setupFile.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								api/tests/_setupFile.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | import { connectDB, dropDB, dropCollections } from '../src/utils/test_mongodb'; | ||||||
|  |  | ||||||
|  | beforeAll(async () => { | ||||||
|  | 	await connectDB(); | ||||||
|  | }); | ||||||
|  |  | ||||||
|  | afterAll(async () => { | ||||||
|  | 	await dropDB(); | ||||||
|  | }); | ||||||
							
								
								
									
										17
									
								
								api/tests/auth.test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								api/tests/auth.test.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | import request from "supertest" | ||||||
|  | import {server as app} from "../server" | ||||||
|  |  | ||||||
|  | describe('Auth API Endpoints', () => { | ||||||
|  |     afterAll((done) => { | ||||||
|  |         app.close(done); | ||||||
|  |     }) | ||||||
|  |  | ||||||
|  |     it('should signup new user', async () => { | ||||||
|  |         const res = await request(app) | ||||||
|  |             .post('/api/auth/signup') | ||||||
|  |             .send({}); | ||||||
|  |  | ||||||
|  |         expect(res.statusCode).toEqual(200) | ||||||
|  |          | ||||||
|  |     }) | ||||||
|  | }) | ||||||
		Reference in New Issue
	
	Block a user