2022-05-12 19:40:08 +01:00
|
|
|
const {doProductAndNewsletter: doTierAndNewsletter} = require('../../../../../core/server/services/auth/setup');
|
2022-04-12 19:44:21 +05:30
|
|
|
const sinon = require('sinon');
|
|
|
|
|
|
|
|
describe('Auth Service: setup', function () {
|
|
|
|
afterEach(function () {
|
|
|
|
sinon.restore();
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('doProductAndNewsletter', function () {
|
|
|
|
it('updates default product and newsletter name', async function () {
|
2022-05-12 19:40:08 +01:00
|
|
|
const tierEditStub = sinon.stub().resolves();
|
2022-04-12 19:44:21 +05:30
|
|
|
const newsletterEditStub = sinon.stub().resolves();
|
2022-05-12 19:40:08 +01:00
|
|
|
const tierBrowseStub = sinon.stub().resolves({
|
|
|
|
tiers: [
|
2022-04-12 19:44:21 +05:30
|
|
|
{
|
|
|
|
id: 'product-1',
|
|
|
|
slug: 'free'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
id: 'product-2',
|
|
|
|
slug: 'default-product'
|
|
|
|
}
|
|
|
|
]
|
|
|
|
});
|
|
|
|
const newsletterBrowseStub = sinon.stub().resolves({
|
|
|
|
newsletters: [
|
|
|
|
{
|
|
|
|
id: 'newsletter-1',
|
|
|
|
slug: 'fake-newsletter'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
id: 'newsletter-2',
|
|
|
|
slug: 'default-newsletter'
|
|
|
|
}
|
|
|
|
]
|
|
|
|
});
|
2022-05-12 19:40:08 +01:00
|
|
|
let tiersAPI = {
|
|
|
|
browse: tierBrowseStub,
|
|
|
|
edit: tierEditStub
|
2022-04-12 19:44:21 +05:30
|
|
|
};
|
|
|
|
let newslettersApi = {
|
|
|
|
browse: newsletterBrowseStub,
|
|
|
|
edit: newsletterEditStub
|
|
|
|
};
|
|
|
|
const api = {
|
2022-05-12 19:40:08 +01:00
|
|
|
tiers: tiersAPI,
|
2022-04-12 19:44:21 +05:30
|
|
|
newsletters: newslettersApi
|
|
|
|
};
|
|
|
|
let data = {
|
|
|
|
user: {
|
|
|
|
id: 'user-1'
|
|
|
|
},
|
|
|
|
userData: {
|
|
|
|
blogTitle: 'Test Blog'
|
|
|
|
}
|
|
|
|
};
|
2022-05-12 19:40:08 +01:00
|
|
|
await doTierAndNewsletter(data, api);
|
2022-04-12 19:44:21 +05:30
|
|
|
sinon.assert.calledOnceWithExactly(
|
2022-05-12 19:40:08 +01:00
|
|
|
tierEditStub,
|
|
|
|
{tiers: [{name: 'Test Blog'}]},
|
2022-04-12 19:44:21 +05:30
|
|
|
{context: {user: 'user-1'}, id: 'product-2'}
|
|
|
|
);
|
|
|
|
sinon.assert.calledOnceWithExactly(
|
|
|
|
newsletterEditStub,
|
2022-04-14 23:45:59 +05:30
|
|
|
{newsletters: [{name: 'Test Blog'}]},
|
2022-04-12 19:44:21 +05:30
|
|
|
{context: {user: 'user-1'}, id: 'newsletter-2'}
|
|
|
|
);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|