mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-25 20:03:12 +03:00
Fixed alert notifications being sent out to non-active users
refs https://linear.app/tryghost/issue/CORE-63/restrict-update-service-notifications-to-active-admins - It only makes sense to notify active users about a notification of 'alert' or any other type really.
This commit is contained in:
parent
b29f519857
commit
20fc1649f4
@ -297,7 +297,8 @@ class UpdateCheckService {
|
|||||||
debug(`creating custom notifications for ${notification.messages.length} notifications`);
|
debug(`creating custom notifications for ${notification.messages.length} notifications`);
|
||||||
const {users} = await this.api.users.browse(Object.assign({
|
const {users} = await this.api.users.browse(Object.assign({
|
||||||
limit: 'all',
|
limit: 'all',
|
||||||
include: ['roles']
|
include: ['roles'],
|
||||||
|
filter: 'status:active'
|
||||||
}, internal));
|
}, internal));
|
||||||
|
|
||||||
const adminEmails = users
|
const adminEmails = users
|
||||||
|
@ -209,6 +209,13 @@ describe('Update Check', function () {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const notificationsAPIAddStub = sinon.stub().resolves();
|
const notificationsAPIAddStub = sinon.stub().resolves();
|
||||||
|
const usersBrowseStub = sinon.stub().resolves({
|
||||||
|
users: [{
|
||||||
|
roles: [{
|
||||||
|
name: 'Owner'
|
||||||
|
}]
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
|
||||||
const updateCheckService = new UpdateCheckService({
|
const updateCheckService = new UpdateCheckService({
|
||||||
api: {
|
api: {
|
||||||
@ -217,13 +224,7 @@ describe('Update Check', function () {
|
|||||||
edit: settingsStub
|
edit: settingsStub
|
||||||
},
|
},
|
||||||
users: {
|
users: {
|
||||||
browse: sinon.stub().resolves({
|
browse: usersBrowseStub
|
||||||
users: [{
|
|
||||||
roles: [{
|
|
||||||
name: 'Owner'
|
|
||||||
}]
|
|
||||||
}]
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
posts: {
|
posts: {
|
||||||
browse: sinon.stub().resolves()
|
browse: sinon.stub().resolves()
|
||||||
@ -254,6 +255,18 @@ describe('Update Check', function () {
|
|||||||
targetNotification.top.should.eql(notification.messages[0].top);
|
targetNotification.top.should.eql(notification.messages[0].top);
|
||||||
targetNotification.type.should.eql('info');
|
targetNotification.type.should.eql('info');
|
||||||
targetNotification.message.should.eql(notification.messages[0].content);
|
targetNotification.message.should.eql(notification.messages[0].content);
|
||||||
|
|
||||||
|
usersBrowseStub.calledTwice.should.eql(true);
|
||||||
|
|
||||||
|
// Second (non statistical) call should be looking for admin users with an 'active' status only
|
||||||
|
usersBrowseStub.args[1][0].should.eql({
|
||||||
|
limit: 'all',
|
||||||
|
include: ['roles'],
|
||||||
|
filter: 'status:active',
|
||||||
|
context: {
|
||||||
|
internal: true
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should send an email for critical notification', async function () {
|
it('should send an email for critical notification', async function () {
|
||||||
|
Loading…
Reference in New Issue
Block a user