mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
Moved markPMSRead to common.ops. Added tests
This commit is contained in:
@@ -171,5 +171,6 @@
|
|||||||
"pushDeviceAlreadyAdded": "The user already has the push device",
|
"pushDeviceAlreadyAdded": "The user already has the push device",
|
||||||
"resetComplete": "Reset completed",
|
"resetComplete": "Reset completed",
|
||||||
"lvl10ChangeClass": "To change class you must be at least level 10.",
|
"lvl10ChangeClass": "To change class you must be at least level 10.",
|
||||||
"equipmentAlreadyOwned": "You already own that piece of equipment"
|
"equipmentAlreadyOwned": "You already own that piece of equipment",
|
||||||
|
"pmsMarkedRead": "Your private messages have been marked as read"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -147,6 +147,7 @@ import deletePM from './ops/deletePM';
|
|||||||
import reroll from './ops/reroll';
|
import reroll from './ops/reroll';
|
||||||
import addPushDevice from './ops/addPushDevice';
|
import addPushDevice from './ops/addPushDevice';
|
||||||
import reset from './ops/reset';
|
import reset from './ops/reset';
|
||||||
|
import markPmsRead from './ops/markPmsRead';
|
||||||
|
|
||||||
api.ops = {
|
api.ops = {
|
||||||
scoreTask,
|
scoreTask,
|
||||||
@@ -187,6 +188,7 @@ api.ops = {
|
|||||||
reroll,
|
reroll,
|
||||||
addPushDevice,
|
addPushDevice,
|
||||||
reset,
|
reset,
|
||||||
|
markPmsRead,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -288,6 +290,7 @@ api.wrap = function wrapUser (user, main = true) {
|
|||||||
readCard: _.partial(importedOps.readCard, user),
|
readCard: _.partial(importedOps.readCard, user),
|
||||||
openMysteryItem: _.partial(importedOps.openMysteryItem, user),
|
openMysteryItem: _.partial(importedOps.openMysteryItem, user),
|
||||||
score: _.partial(importedOps.scoreTask, user),
|
score: _.partial(importedOps.scoreTask, user),
|
||||||
|
markPmsRead: _.partial(importedOps.markPmsRead, user),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,8 @@ import allocate from './allocate';
|
|||||||
import readCard from './readCard';
|
import readCard from './readCard';
|
||||||
import openMysteryItem from './openMysteryItem';
|
import openMysteryItem from './openMysteryItem';
|
||||||
import scoreTask from './scoreTask';
|
import scoreTask from './scoreTask';
|
||||||
|
import markPmsRead from './markPmsRead';
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
update,
|
update,
|
||||||
@@ -96,4 +98,5 @@ module.exports = {
|
|||||||
readCard,
|
readCard,
|
||||||
openMysteryItem,
|
openMysteryItem,
|
||||||
scoreTask,
|
scoreTask,
|
||||||
|
markPmsRead,
|
||||||
};
|
};
|
||||||
|
|||||||
14
common/script/ops/markPMSRead.js
Normal file
14
common/script/ops/markPMSRead.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import i18n from '../i18n';
|
||||||
|
|
||||||
|
module.exports = function markPmsRead (user, req = {}) {
|
||||||
|
user.inbox.newMessages = 0;
|
||||||
|
|
||||||
|
if (req.v2 === true) {
|
||||||
|
return user;
|
||||||
|
} else {
|
||||||
|
return [
|
||||||
|
user.inbox.newMessages,
|
||||||
|
i18n.t('pmsMarkedRead'),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
};
|
||||||
22
test/api/v3/integration/user/POST-user_mark_pms_read.test.js
Normal file
22
test/api/v3/integration/user/POST-user_mark_pms_read.test.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
import {
|
||||||
|
generateUser,
|
||||||
|
} from '../../../../helpers/api-integration/v3';
|
||||||
|
|
||||||
|
describe('POST /user/mark-pms-read', () => {
|
||||||
|
let user;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
user = await generateUser();
|
||||||
|
});
|
||||||
|
|
||||||
|
// More tests in common code unit tests
|
||||||
|
|
||||||
|
it('marks user\'s private messages as read', async () => {
|
||||||
|
await user.update({
|
||||||
|
'inbox.newMessages': 1,
|
||||||
|
});
|
||||||
|
let res = await user.post('/user/mark-pms-read');
|
||||||
|
await user.sync();
|
||||||
|
expect(user.inbox.newMessages).to.equal(0);
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -92,7 +92,6 @@ function($scope, $rootScope, User, $http, Notification, ApiUrl, Social) {
|
|||||||
|
|
||||||
$scope.addHourglass = function(){
|
$scope.addHourglass = function(){
|
||||||
User.addHourglass();
|
User.addHourglass();
|
||||||
//User.log({});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.addGold = function(){
|
$scope.addGold = function(){
|
||||||
|
|||||||
@@ -199,13 +199,7 @@ angular.module('habitrpg')
|
|||||||
},
|
},
|
||||||
|
|
||||||
clearNewMessages: function () {
|
clearNewMessages: function () {
|
||||||
$http({
|
callOpsFunctionAndRequest('markPmsRead', 'mark-pms-read', "POST");
|
||||||
method: "POST",
|
|
||||||
url: 'api/v3/user/mark-pms-read',
|
|
||||||
})
|
|
||||||
.then(function (response) {
|
|
||||||
sync();
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
|
|
||||||
clearPMs: function () {
|
clearPMs: function () {
|
||||||
|
|||||||
@@ -1189,9 +1189,9 @@ api.markPmsRead = {
|
|||||||
url: '/user/mark-pms-read',
|
url: '/user/mark-pms-read',
|
||||||
async handler (req, res) {
|
async handler (req, res) {
|
||||||
let user = res.locals.user;
|
let user = res.locals.user;
|
||||||
user.inbox.newMessages = 0;
|
let markPmsResponse = common.ops.markPmsRead(user, req);
|
||||||
await user.save();
|
await user.save();
|
||||||
res.respond(200, user.inbox.newMessages);
|
res.respond(200, markPmsResponse);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user