Как сделать фиктивный вызов базы данных на Jenkins (или на любом сервере CI)? - PullRequest
0 голосов
/ 02 августа 2020

В настоящее время я тестирую один из своих контроллеров, он работает локально, но у него проблемы с jenkins. Я подозреваю, что это связано с фиктивным подключением к базе данных, но я не уверен на 100%. Это мой тест:

const expect = require('chai').expect
const request = require('supertest')
const mongoose = require('mongoose')
const app = require('../../../../index')
describe('POST /addUser', function () {
    this.timeout(0)
    before((done) => {
        const Mockgoose = require('mockgoose').Mockgoose
        const mockgoose = new Mockgoose(mongoose)
        mockgoose.prepareStorage()
            .then(()=> {
                mongoose.Promise = global.Promise;
                mongoose.connect("mongodb://localhost/club_archive")
            })
        .then(() => done())
        .catch((err) => done(err))
    })

    it('Test Successful Sign Up', (done) => {

        request(app).post('/addUser').send({firstName: 'test', lastName:'user', email : 'test@email.com', userName: "0",  password:'0', confirm_password: '0', major: 'comp sci', gradYear:'2020', image:''})
        .then((res) => {
            expect(res.header.location).to.equal('/')
            done()
        }).catch((err) => done(err))
    })

    it('Test Unsuccessful Sign Up', (done) => {

        request(app).post('/addUser').send({firstName: '', lastName:'user', email : 'test@email.com', userName: "0",  password:'0', confirm_password: '0', major: 'comp sci', gradYear:'2020', image:''})
        .then((res) => {
            expect(res.header.location).to.not.equal('/')
            done()
        }).catch((err) => done(err))
    })

    after((done) => {
        done()
    })
    

})
...