Files
overleaf-cep/services/web/test/acceptance/src/ModelTests.js
T
Jakob Ackermann 654abb3b47 Merge pull request #3355 from overleaf/jpa-use-count-again
[misc] mongodb: use deprecated db.collection.count again

GitOrigin-RevId: 93dc05651747ca49b0e26547a330682f85ad9cef
2020-11-04 03:04:26 +00:00

45 lines
1.5 KiB
JavaScript

const chai = require('chai')
const expect = chai.expect
const chaiAsPromised = require('chai-as-promised')
chai.use(chaiAsPromised)
const { User } = require('../../../app/src/models/User')
const { Subscription } = require('../../../app/src/models/Subscription')
describe('mongoose', function() {
describe('User', function() {
const email = 'wombat@potato.net'
it('allows the creation of a user', async function() {
await expect(User.create({ email: email })).to.be.fulfilled
await expect(User.findOne({ email: email })).to.eventually.exist
})
it('does not allow the creation of multiple users with the same email', async function() {
await expect(User.create({ email: email })).to.be.fulfilled
await expect(User.create({ email: email })).to.be.rejected
await expect(User.count({ email: email })).to.eventually.equal(1)
})
})
describe('Subsription', function() {
let user
beforeEach(async function() {
user = await User.create({ email: 'wombat@potato.net' })
})
it('allows the creation of a subscription', async function() {
await expect(
Subscription.create({ admin_id: user._id, manager_ids: [user._id] })
).to.be.fulfilled
await expect(Subscription.findOne({ admin_id: user._id })).to.eventually
.exist
})
it('does not allow the creation of a subscription without a manager', async function() {
await expect(Subscription.create({ admin_id: user._id })).to.be.rejected
})
})
})