diff --git a/test/e2e-api/members/webhooks.test.js b/test/e2e-api/members/webhooks.test.js index c393598868..332d12e49f 100644 --- a/test/e2e-api/members/webhooks.test.js +++ b/test/e2e-api/members/webhooks.test.js @@ -14,8 +14,11 @@ describe('Members API', function () { // And it's initialised at boot - so mocking it before // Probably wanna replace this with a settinfs fixture mock or smth?? mockManager.setupStripe(); - membersAgent = await agentProvider.getMembersAPIAgent(); - adminAgent = await agentProvider.getAdminAPIAgent(); + + const agents = await agentProvider.getAgentsForMembers(); + membersAgent = agents.membersAgent; + adminAgent = agents.adminAgent; + await fixtureManager.init('members'); await adminAgent.loginAsOwner(); }); diff --git a/test/utils/e2e-framework.js b/test/utils/e2e-framework.js index b0d8576b2e..ebcc7e5560 100644 --- a/test/utils/e2e-framework.js +++ b/test/utils/e2e-framework.js @@ -196,11 +196,47 @@ const getMembersAPIAgent = async () => { } }; +/** + * + * @returns {Promise<{adminAgent: TestAgent, membersAgent: TestAgent}>} agent + */ +const getAgentsForMembers = async () => { + let membersAgent; + let adminAgent; + + const bootOptions = { + frontend: true + }; + + try { + const app = await startGhost(bootOptions); + const originURL = configUtils.config.get('url'); + + membersAgent = new TestAgent(app, { + apiURL: '/members/', + originURL + }); + adminAgent = new TestAgent(app, { + apiURL: '/ghost/api/canary/admin/', + originURL + }); + } catch (error) { + error.message = `Unable to create test agent. ${error.message}`; + throw error; + } + + return { + adminAgent, + membersAgent + }; +}; + module.exports = { // request agent agentProvider: { getAdminAPIAgent, - getMembersAPIAgent + getMembersAPIAgent, + getAgentsForMembers }, // Mocks and Stubs