mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-10 23:36:14 -05:00
refs https://github.com/TryGhost/Team/issues/1469 Currently, all new members get auto subscribed to the default newsletter. This change adds same behavior with multiple newsletters by auto subscribing all available newsletters on site for new members(If flag is enabled). Note: In future, this will also take into consideration the `subscribe_on_signup` flag for a newsletter to filter which newsletters should a member be auto-subscribed. - adds newsletters service for working with newsletter data - bumps `@tryghost/members-api` package which handles default subscription - adds new test fixture/data for newsletters
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
const should = require('should');
|
|
const sinon = require('sinon');
|
|
const getNewslettersServiceInstance = require('../../../../../core/server/services/newsletters');
|
|
const models = require('../../../../../core/server/models');
|
|
|
|
describe('Newsletters Service', function () {
|
|
before(function () {
|
|
models.init();
|
|
});
|
|
|
|
afterEach(function () {
|
|
sinon.restore();
|
|
});
|
|
|
|
describe('browse', function () {
|
|
it('lists all newsletters', async function () {
|
|
const findAllStub = {
|
|
toJSON: function () {
|
|
return [
|
|
{
|
|
id: 'newsletter-1'
|
|
},
|
|
{
|
|
id: 'newsletter-2'
|
|
}
|
|
];
|
|
}
|
|
};
|
|
sinon.stub(models.Newsletter, 'findAll').returns(Promise.resolve(findAllStub));
|
|
|
|
const NewslettersService = getNewslettersServiceInstance({NewsletterModel: models.Newsletter});
|
|
const newsletters = await NewslettersService.browse({});
|
|
should(newsletters).deepEqual([
|
|
{
|
|
id: 'newsletter-1'
|
|
},
|
|
{
|
|
id: 'newsletter-2'
|
|
}
|
|
]);
|
|
});
|
|
});
|
|
});
|