diff --git a/src/unit_test/auth.test.js b/src/unit_test/auth.test.js new file mode 100644 index 0000000..1ae2fca --- /dev/null +++ b/src/unit_test/auth.test.js @@ -0,0 +1,27 @@ +const auth = require('../controllers/auth'); +const router = require('../routes/v1/auth'); +const request = require('supertest'); +const mongoose = require('mongoose'); +const User = require('../models/user'); +const axios = require('axios'); + +beforeEach( async () => {await User.deleteMany()}) +test('Should signup a new user', async (req, res, next) => { +const response = await request(app).post('/signup') +.send({ + name: 'test', + email:"test@test.com", + password:"1234567890", +}) +.expect(200) +//Assert that the database was changed correctly +const user = await User.findOne({email}) +expect(response.body).toMatchObject({ +user:{ +name: 'test', +email:"test@test.com" +}, +token: user.tokens[0].token +}) +expect(user.password).not.toBe('1234567890') +}) \ No newline at end of file diff --git a/src/unit_test/validate.test.js b/src/unit_test/validate.test.js new file mode 100644 index 0000000..9e89c45 --- /dev/null +++ b/src/unit_test/validate.test.js @@ -0,0 +1,37 @@ +const Joi = require('joi'); +const validateUser = require('../validators/createUser'); +const loginUser = require('../validators/loginUser'); + + + + +describe('Testing validation', () => { + // Testing the user validator + it('checking the user validation', () => { + // Create an instance + let testUser = Joi.object({ + name: Joi.string(), + email: Joi.string(), + password: Joi.string() + }); + + if(testUser == loginUser) { + expect(testUser).toMatch(loginUser); + } + + }) + + // Testing the login schema + it('checking login schema', () => { + // Create an instance + let testLogin = Joi.object({ + email: Joi.string(), + password: Joi.string(), + }); + if(testLogin == validateUser) { + expect(testUser).toEqual(validateUser); + } + + }) + +}) \ No newline at end of file