mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-03-11 02:12:21 -05:00
Cleaned up EmailEventStorage tests
This ensures that services aren't required before boot, so that they are initialised in the correct order.
This commit is contained in:
parent
9736d942e1
commit
5749a17910
1 changed files with 9 additions and 6 deletions
|
@ -1,14 +1,11 @@
|
||||||
const sinon = require('sinon');
|
const sinon = require('sinon');
|
||||||
const {agentProvider, fixtureManager, sleep} = require('../../../utils/e2e-framework');
|
const {agentProvider, fixtureManager, sleep} = require('../../../utils/e2e-framework');
|
||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
const models = require('../../../../core/server/models');
|
|
||||||
const domainEvents = require('@tryghost/domain-events');
|
const domainEvents = require('@tryghost/domain-events');
|
||||||
const MailgunClient = require('@tryghost/mailgun-client');
|
const MailgunClient = require('@tryghost/mailgun-client');
|
||||||
const {run} = require('../../../../core/server/services/email-analytics/jobs/fetch-latest/run.js');
|
|
||||||
const membersService = require('../../../../core/server/services/members');
|
|
||||||
const {EmailDeliveredEvent} = require('@tryghost/email-events');
|
const {EmailDeliveredEvent} = require('@tryghost/email-events');
|
||||||
|
|
||||||
async function resetFailures(emailId) {
|
async function resetFailures(models, emailId) {
|
||||||
await models.EmailRecipientFailure.destroy({
|
await models.EmailRecipientFailure.destroy({
|
||||||
destroyBy: {
|
destroyBy: {
|
||||||
email_id: emailId
|
email_id: emailId
|
||||||
|
@ -22,13 +19,19 @@ describe('EmailEventStorage', function () {
|
||||||
let agent;
|
let agent;
|
||||||
let events = [];
|
let events = [];
|
||||||
let jobsService;
|
let jobsService;
|
||||||
|
let models;
|
||||||
|
let run;
|
||||||
|
let membersService;
|
||||||
|
|
||||||
before(async function () {
|
before(async function () {
|
||||||
agent = await agentProvider.getAdminAPIAgent();
|
agent = await agentProvider.getAdminAPIAgent();
|
||||||
await fixtureManager.init('newsletters', 'members:newsletters', 'members:emails');
|
await fixtureManager.init('newsletters', 'members:newsletters', 'members:emails');
|
||||||
await agent.loginAsOwner();
|
await agent.loginAsOwner();
|
||||||
|
|
||||||
// Only create reference to jobsService after Ghost boot
|
// Only reference services after Ghost boot
|
||||||
|
models = require('../../../../core/server/models');
|
||||||
|
run = require('../../../../core/server/services/email-analytics/jobs/fetch-latest/run.js').run;
|
||||||
|
membersService = require('../../../../core/server/services/members');
|
||||||
jobsService = require('../../../../core/server/services/jobs');
|
jobsService = require('../../../../core/server/services/jobs');
|
||||||
|
|
||||||
sinon.stub(MailgunClient.prototype, 'fetchEvents').callsFake(async function (_, batchHandler) {
|
sinon.stub(MailgunClient.prototype, 'fetchEvents').callsFake(async function (_, batchHandler) {
|
||||||
|
@ -405,7 +408,7 @@ describe('EmailEventStorage', function () {
|
||||||
await models.EmailRecipient.edit({failed_at: null}, {
|
await models.EmailRecipient.edit({failed_at: null}, {
|
||||||
id: emailRecipient.id
|
id: emailRecipient.id
|
||||||
});
|
});
|
||||||
await resetFailures(emailId);
|
await resetFailures(models, emailId);
|
||||||
|
|
||||||
events = [{
|
events = [{
|
||||||
event: 'failed',
|
event: 'failed',
|
||||||
|
|
Loading…
Add table
Reference in a new issue