Skip to content
Snippets Groups Projects
Uers.test.js 1.06 KiB
Newer Older
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();
    });
});