mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-02 03:28:49 -05:00
3311066363
GitOrigin-RevId: 6b28d7464482a8d5729709f99893b333c3d7f9c2
83 lines
2.6 KiB
JavaScript
83 lines
2.6 KiB
JavaScript
const { expect } = require('chai')
|
|
|
|
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 })).to.be.fulfilled
|
|
await expect(User.findOne({ email }, { _id: 1 })).to.eventually.exist
|
|
})
|
|
|
|
it('does not allow the creation of multiple users with the same email', async function () {
|
|
await expect(User.create({ email })).to.be.fulfilled
|
|
await expect(User.create({ email })).to.be.rejected
|
|
await expect(User.countDocuments({ email })).to.eventually.equal(1)
|
|
})
|
|
|
|
it('formats assignedAt as Date', async function () {
|
|
await expect(
|
|
User.create({
|
|
email,
|
|
splitTests: {
|
|
'some-test': [
|
|
{
|
|
variantName: 'control',
|
|
versionNumber: 1,
|
|
phase: 'release',
|
|
assignedAt: '2021-09-24T11:53:18.313Z',
|
|
},
|
|
{
|
|
variantName: 'control',
|
|
versionNumber: 2,
|
|
phase: 'release',
|
|
assignedAt: new Date(),
|
|
},
|
|
],
|
|
},
|
|
})
|
|
).to.be.fulfilled
|
|
|
|
const user = await User.findOne({ email }, { splitTests: 1 })
|
|
expect(user.splitTests['some-test'][0].assignedAt).to.be.a('date')
|
|
expect(user.splitTests['some-test'][1].assignedAt).to.be.a('date')
|
|
})
|
|
})
|
|
|
|
describe('Subscription', 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],
|
|
salesforce_id: 'a0a0a00000AAA0AAAA',
|
|
})
|
|
).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
|
|
})
|
|
|
|
it('does not allow the creation of a subscription with an invalid salesforce_id', async function () {
|
|
await expect(
|
|
Subscription.create({
|
|
admin_id: user._id,
|
|
manager_ids: [user._id],
|
|
salesforce_id: 'a00aaaAAa0000a',
|
|
})
|
|
).to.be.rejected
|
|
})
|
|
})
|
|
})
|