const dbClientInstance_ = require( './../db/mongo.js' ); const { model: Users } = require( './Users.js' ); describe( 'Model: Users', ()=>{ beforeAll( async ()=>{ try{ await dbClientInstance_; }catch( err ){ console.error( new Error( `Cannot connect to database: ${ process.env.MONGODB_URL }` ) ); process.exit( 1 ); } }); test( 'creating a user', async ()=>{ const userData = { name: 'myname', email: 'myname@example.com', password: 'mypassword' }; const userDoc = await Users( userData ); await userDoc.save(); const userRecord = await Users.findOne({ email: userData.email }); const { password, ...userInfo } = userData; expect( userRecord ).toEqual( expect.objectContaining( userInfo ) ); }); afterAll( async ()=>{ const dbClient = await dbClientInstance_; const { connection } = dbClient; await connection.dropDatabase(); await dbClient.disconnect(); }); });