} from 'common/modules/commercial/contributions-utilities';

const abTestName = 'AcquisitionsEpicFromGoogleDocThreeVariants';

export const acquisitionsEpicFromGoogleDocThreeVariants: EpicABTest = makeABTest(
    {
        id: abTestName,
        campaignId: abTestName,

        start: '2018-04-17',
        expiry: '2019-06-05',

        author: 'Joseph Smith',
        description: 'Test copy fetched from a Google Doc',
        successMeasure: 'Conversion rate',
        idealOutcome: 'Alternative copy makes more money than the control',

        audienceCriteria: 'All',
        audience: 1,
        audienceOffset: 0,

        variants: [
            {
                id: 'control',
                products: [],
            },
            ...makeGoogleDocEpicVariants(3),
        ],
    }
);
export const acquisitionsEpicLiveblog: EpicABTest = makeABTest({
    id: 'AcquisitionsEpicLiveblog',
    campaignId: 'epic_liveblog',
    start: '2017-04-01',
    expiry: '2019-01-24',

    author: 'Joseph Smith',
    description:
        'This places the epic underneath liveblog blocks which the author has specified in Composer should have an epic against them',
    successMeasure: 'Member acquisition and contributions',
    idealOutcome:
        'Our wonderful readers will support The Guardian in this time of need!',

    audienceCriteria: 'All',
    audience: 1,
    audienceOffset: 0,

    pageCheck(page) {
        return page.contentType === 'LiveBlog';
    },

    variants: [
        {
            id: 'control',
            products: ['CONTRIBUTION', 'MEMBERSHIP_SUPPORTER'],

            options: {
                isUnlimited: true,

                template(variant) {
                    return epicLiveBlogTemplate({
                        copy: liveblogCopy(variant.options.supportURL),
                        componentName: variant.options.componentName,
                    });
                },

                test(renderFn, variant, test) {
                    const epicHtml = variant.options.template(variant);
                    setupEpicInLiveblog(epicHtml, test);
                },
            },
        },
    ],
});
export const askFourEarning: EpicABTest = makeABTest({
    id: 'ContributionsEpicAskFourEarning',
    campaignId: 'kr1_epic_ask_four_earning',

    start: '2017-01-24',
    expiry: '2019-01-24',

    author: 'Jonathan Rankin',
    description:
        'This places the epic on all articles for all users, with a limit of 4 impressions in any given 30 days',
    successMeasure: 'Conversion rate',
    idealOutcome: 'Acquires many Supporters',

    audienceCriteria: 'All',
    audience: 1,
    audienceOffset: 0,

    variants: [
        {
            id: 'control',
            products: ['CONTRIBUTION', 'MEMBERSHIP_SUPPORTER'],

            options: {
                maxViews: {
                    days: 30,
                    count: 4,
                    minDaysBetweenViews: 0,
                },

                insertAtSelector: '.submeta',
                successOnView: true,
            },
        },
    ],
});