Skip to content
Snippets Groups Projects
Select Git revision
  • a3feeb15c6661ae42775a8cbc01e53d03b42b64e
  • master default protected
2 results

.DS_Store

Blame
  • 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);
      });
    });