Select Git revision
userRoutes.test.js
userRoutes.test.js 1.40 KiB
const request = require('supertest');
const app = require('../server');
const mongoose = require('mongoose');
const User = require('../models/user');
describe('User API Tests', () => {
let userId;
beforeAll(async () => {
await mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useUnifiedTopology: true
});
});
afterAll(async () => {
await User.deleteMany({});
await mongoose.connection.close();
});
test('Should create a user', async () => {
const response = await request(app).post('/api/users').send({
name: 'Nitesh Kumar Verma',
email: 'nitesh.verma@niveussolutions.com'
});
expect(response.status).toBe(201);
expect(response.body.name).toBe('Nitesh Kumar Verma');
userId = response.body._id;
});
test('Should update a user', async () => {
const response = await request(app).put(`/api/users/${userId}`).send({
name: 'Nitesh Updated',
email: 'nitesh.verma@niveussolutions.com'
});
expect(response.status).toBe(200);
expect(response.body.name).toBe('Nitesh Updated');
});
test('Should fetch all users', async () => {
const response = await request(app).get('/api/users');
expect(response.status).toBe(200);
expect(Array.isArray(response.body)).toBe(true);
});
});