All files / src/controllers/users-controllers toggleFavorites.js

78.57% Statements 11/14
75% Branches 3/4
100% Functions 1/1
75% Lines 9/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23        2x 2x 2x 2x 2x 2x   1x 1x       2x            
import UsersModel from "../../models/Users.js";
 
 
export default async function toggleFavorites(userId, productId) {
    try {
        let isToggled = false;
        const filter = { _id: userId, userFavorites: { $in: [productId] } };
        const update = { userFavorites: productId };
        const { modifiedCount } = await UsersModel.updateOne(filter, { $pull: update });
        if (modifiedCount) isToggled = true;
        else {
            const { modifiedCount } = await UsersModel.updateOne({ _id: userId }, { $push: update });
            if (modifiedCount) isToggled = true;
            else EisToggled = false;
        }
 
        return isToggled;
    } catch (error) {
        console.log(error)
        return null;
    }
}