mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 14:47:53 +01:00
Added challenge tag when challenge task is added to existing challenge (#9833)
This commit is contained in:
@@ -74,14 +74,15 @@ describe('Challenge Model', () => {
|
|||||||
it('adds tasks to challenge and challenge members', async () => {
|
it('adds tasks to challenge and challenge members', async () => {
|
||||||
await challenge.addTasks([task]);
|
await challenge.addTasks([task]);
|
||||||
|
|
||||||
let updatedLeader = await User.findOne({_id: leader._id});
|
const updatedLeader = await User.findOne({_id: leader._id});
|
||||||
let updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
|
const updatedLeadersTasks = await Tasks.Task.find({_id: { $in: updatedLeader.tasksOrder[`${taskType}s`]}});
|
||||||
let syncedTask = find(updatedLeadersTasks, function findNewTask (updatedLeadersTask) {
|
const syncedTask = find(updatedLeadersTasks, function findNewTask (updatedLeadersTask) {
|
||||||
return updatedLeadersTask.type === taskValue.type && updatedLeadersTask.text === taskValue.text;
|
return updatedLeadersTask.type === taskValue.type && updatedLeadersTask.text === taskValue.text;
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(syncedTask).to.exist;
|
expect(syncedTask).to.exist;
|
||||||
expect(syncedTask.notes).to.eql(task.notes);
|
expect(syncedTask.notes).to.eql(task.notes);
|
||||||
|
expect(syncedTask.tags[0]).to.eql(challenge._id);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('syncs a challenge to a user', async () => {
|
it('syncs a challenge to a user', async () => {
|
||||||
|
|||||||
@@ -182,7 +182,10 @@ async function _addTaskFn (challenge, tasks, memberId) {
|
|||||||
let userTask = new Tasks[chalTask.type](Tasks.Task.sanitize(syncableAttrs(chalTask)));
|
let userTask = new Tasks[chalTask.type](Tasks.Task.sanitize(syncableAttrs(chalTask)));
|
||||||
userTask.challenge = {taskId: chalTask._id, id: challenge._id, shortName: challenge.shortName};
|
userTask.challenge = {taskId: chalTask._id, id: challenge._id, shortName: challenge.shortName};
|
||||||
userTask.userId = memberId;
|
userTask.userId = memberId;
|
||||||
userTask.notes = chalTask.notes; // We want to sync the notes when the task is first added to the challenge
|
|
||||||
|
// We want to sync the notes and tags when the task is first added to the challenge
|
||||||
|
userTask.notes = chalTask.notes;
|
||||||
|
userTask.tags.push(challenge._id);
|
||||||
|
|
||||||
let tasksOrderList = updateTasksOrderQ.$push[`tasksOrder.${chalTask.type}s`];
|
let tasksOrderList = updateTasksOrderQ.$push[`tasksOrder.${chalTask.type}s`];
|
||||||
if (!tasksOrderList) {
|
if (!tasksOrderList) {
|
||||||
|
|||||||
Reference in New Issue
Block a user