Files
overleaf-cep/services/web/test/acceptance/src/ConvertEmailConfirmedAtToDates.js
Jakob Ackermann 19980b41b8 [web] switch migrations for fixing dates to batchedUpdate (#26582)
* [web] switch migration for fixing confirmedAt dates to batchedUpdate

* [web] switch migration for fixing assignedAt dates to batchedUpdate

* [web] make eslint happy

GitOrigin-RevId: d898d28dc2aa1084e8d3af20b98f49e3fda8a1c6
2025-06-26 08:04:46 +00:00

70 lines
1.9 KiB
JavaScript

import { expect } from 'chai'
import { db } from '../../../app/src/infrastructure/mongodb.js'
import { exec } from 'node:child_process'
describe('ConvertEmailConfirmedAtToDates', function () {
beforeEach('insert data', async function () {
await db.users.insertMany([
{ email: 'foo0@bar.com', emails: [{ email: 'foo0@bar.com' }] },
{
email: 'foo1@bar.com',
emails: [
{ email: 'foo1@bar.com', confirmedAt: '2025-06-20 15:53:31 UTC' },
],
},
{
email: 'foo2@bar.com',
emails: [
{ email: 'foo2@bar.com', confirmedAt: '2025-06-20 15:53:32 UTC' },
{ email: 'foo3@bar.com', confirmedAt: '2025-06-20 15:53:33 UTC' },
{
email: 'foo4@bar.com',
confirmedAt: new Date('2025-06-20T15:53:31.134Z'),
},
],
},
])
})
beforeEach('run migration', function (done) {
exec(
'east migrate -t saas --force 20210726083523_convert_confirmedAt_strings_to_dates',
done
)
})
it('should update the dates', async function () {
expect(
await db.users.find({}, { projection: { _id: 0 } }).toArray()
).to.deep.equal([
{ email: 'foo0@bar.com', emails: [{ email: 'foo0@bar.com' }] },
{
email: 'foo1@bar.com',
emails: [
{
email: 'foo1@bar.com',
confirmedAt: new Date('2025-06-20T15:53:31.000Z'),
},
],
},
{
email: 'foo2@bar.com',
emails: [
{
email: 'foo2@bar.com',
confirmedAt: new Date('2025-06-20T15:53:32.000Z'),
},
{
email: 'foo3@bar.com',
confirmedAt: new Date('2025-06-20T15:53:33.000Z'),
},
{
email: 'foo4@bar.com',
confirmedAt: new Date('2025-06-20T15:53:31.134Z'),
},
],
},
])
})
})