Select Git revision
user.test.js
-
Prasad Bhat authoredPrasad Bhat authored
user.test.js 1.22 KiB
const request = require('supertest');
const app = require('../index');
const mongoose = require('mongoose');
const User = require('../models/user');
beforeAll(async () => {
await User.deleteMany();
});
afterAll(async () => {
await mongoose.disconnect();
});
describe('User API tests', () => {
it('should create a new user', async () => {
const res = await request(app)
.post('/api/users/')
.send({ username: 'testuser', email: 'test@example.com', age: 25 });
expect(res.statusCode).toEqual(201);
expect(res.body.username).toEqual('testuser');
expect(res.body.email).toEqual('test@example.com');
expect(res.body.age).toEqual(25);
});
it('should update an existing user', async () => {
const newUser = await User.create({ username: 'updateuser', email: 'update@example.com', age: 30 });
const res = await request(app)
.put(`/api/users/${newUser._id}`)
.send({ age: 35 });
expect(res.statusCode).toEqual(200);
expect(res.body.age).toEqual(35);
});
it('should get a list of users', async () => {
const res = await request(app)
.get('/api/users/');
expect(res.statusCode).toEqual(200);
expect(res.body.length).toBeGreaterThan(0);
});
});