all files / api/toJSON/ contentItem.js

100% Statements 25/25
93.75% Branches 15/16
100% Functions 1/1
100% Lines 24/24
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40      36×   36×       36× 17× 17× 17× 17×   19×   15× 10×              
'use strict';
 
const R = require('ramda');
let createVideo = require('./video');
let createQuiz = require('./quiz');
let createSocial = require('./social');
 
module.exports = function (config, staticContent, contentItem) {
    const contentItemWithStaticContent = R.assoc('static_content', staticContent, contentItem);
 
    const meta = {
        "static_content": staticContent
    };
    
    if(!R.isNil(contentItem.image_id)) {
        let image = R.assoc('noContent', true, contentItemWithStaticContent);
        const altText = R.path(["alttext"], staticContent);
        if(altText) image.static_content.altText = altText;
        return Array.of({}, image);
    }
    if(!R.isNil(contentItem.gallery_id)) {
        return Array.of({}, R.assoc('noContent', true, contentItemWithStaticContent));
    }
    if(!R.isNil(contentItem.video_id)) {
        return createVideo([meta, contentItem.video]);
    }
    if(!R.isNil(contentItem.html_id)) {
        return Array.of({}, R.assoc('noContent', true, contentItemWithStaticContent));
    }
    if(!R.isNil(contentItem.quiz)) {
        return createQuiz([meta, contentItem.quiz]);
    }
    if(!R.isNil(contentItem.tweet_id)) {
        return createSocial([R.merge(meta, {"type": "tweet"}), contentItem.tweet]);
    }
    Eif(!R.isNil(contentItem.instagram_id)) {
        return createSocial([R.merge(meta, {"type": "instagram"}), contentItem.instagram]);
    }
};