CASH-2415
CASH-2415 changes to allow forcing experiments on querystring
This commit is contained in:
parent
436491da84
commit
f5f720526f
6 changed files with 48 additions and 6 deletions
|
|
@ -196,6 +196,10 @@ const endpoints = {
|
||||||
url: "/experiments/api/v1/experiments/run",
|
url: "/experiments/api/v1/experiments/run",
|
||||||
method: "POST",
|
method: "POST",
|
||||||
},
|
},
|
||||||
|
ForceExperiments: {
|
||||||
|
url: "/experiments/api/v1/experiments/forceVariations",
|
||||||
|
method: "POST",
|
||||||
|
},
|
||||||
GetInsuranceCompanyList: {
|
GetInsuranceCompanyList: {
|
||||||
url: "/account/api/v1/account/insurance-companies",
|
url: "/account/api/v1/account/insurance-companies",
|
||||||
method: "GET",
|
method: "GET",
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ const storeActions = {
|
||||||
TAX_ORDER_ITEMS_AND_SAVE_SERVER_DATA: "taxOrderItemsAndSaveServerData",
|
TAX_ORDER_ITEMS_AND_SAVE_SERVER_DATA: "taxOrderItemsAndSaveServerData",
|
||||||
GET_EXPERIMENTS_BY_USER: "GetExperimentsByUser",
|
GET_EXPERIMENTS_BY_USER: "GetExperimentsByUser",
|
||||||
RUN_EXPERIMENTS_FOR_TRIGGER: "runExperimentsForTrigger",
|
RUN_EXPERIMENTS_FOR_TRIGGER: "runExperimentsForTrigger",
|
||||||
|
FORCE_EXPERIMENTS: "forceExperiments",
|
||||||
CLEAR_VIN: "clearVin",
|
CLEAR_VIN: "clearVin",
|
||||||
RESET_SAVE_SESSION_PROMISE: "resetSaveSessionPromise",
|
RESET_SAVE_SESSION_PROMISE: "resetSaveSessionPromise",
|
||||||
GET_SIGNATURE: "getSignature",
|
GET_SIGNATURE: "getSignature",
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,6 @@ const storeMutations = {
|
||||||
UPDATE_EXTERNAL_PARAMETER_IS_INSURANCE: "updateExternalParameterIsInsurance",
|
UPDATE_EXTERNAL_PARAMETER_IS_INSURANCE: "updateExternalParameterIsInsurance",
|
||||||
UPDATE_EXTERNAL_PARAMETER_VIN_SELECTION: "updateExternalParameterVinSelection",
|
UPDATE_EXTERNAL_PARAMETER_VIN_SELECTION: "updateExternalParameterVinSelection",
|
||||||
UPDATE_EXTERNAL_PARAMETER_SERVICE_PACKAGE: "updateExternalParameterServicePackage",
|
UPDATE_EXTERNAL_PARAMETER_SERVICE_PACKAGE: "updateExternalParameterServicePackage",
|
||||||
UPDATE_EXTERNAL_PARAMETER_SOURCE: "updateExternalParameterSource",
|
|
||||||
UPDATE_EXTERNAL_PARAMETER_PHONE_NUMBER: "updateExternalParameterPhoneNumber",
|
UPDATE_EXTERNAL_PARAMETER_PHONE_NUMBER: "updateExternalParameterPhoneNumber",
|
||||||
UPDATE_EXTERNAL_PARAMETER_QS_STASH: "updateExternalParameterQsStash",
|
UPDATE_EXTERNAL_PARAMETER_QS_STASH: "updateExternalParameterQsStash",
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import { getQuerystringParameter } from "@/helpers/querystring-helper";
|
||||||
import { queryStrings } from "@/constants/query-strings";
|
import { queryStrings } from "@/constants/query-strings";
|
||||||
import { externalParameterStatus } from "@/constants/external-parameters";
|
import { externalParameterStatus } from "@/constants/external-parameters";
|
||||||
import { debugLog } from "@/helpers/debug-log-helper";
|
import { debugLog } from "@/helpers/debug-log-helper";
|
||||||
|
import { runExperiments, forceExperiments } from "@/router/methods/helpers/run-experiments";
|
||||||
|
|
||||||
export async function initializeFromQueryStrings() {
|
export async function initializeFromQueryStrings() {
|
||||||
// Get advertiser info
|
// Get advertiser info
|
||||||
|
|
@ -16,6 +17,17 @@ export async function initializeFromQueryStrings() {
|
||||||
|
|
||||||
// Read all external paramter queries and write to store.
|
// Read all external paramter queries and write to store.
|
||||||
updateExternalParameterState();
|
updateExternalParameterState();
|
||||||
|
|
||||||
|
forceExperimentsFromQuerystrings();
|
||||||
|
}
|
||||||
|
|
||||||
|
async function forceExperimentsFromQuerystrings() {
|
||||||
|
const experimentsFromQueryString = getQuerystringParameter(queryStrings.EXPERIMENTS);
|
||||||
|
if (experimentsFromQueryString) {
|
||||||
|
var qs = decodeURIComponent(window.location.search);
|
||||||
|
let forcedExperiments = qs.substring(qs.indexOf(queryStrings.EXPERIMENTS));
|
||||||
|
await forceExperiments(forcedExperiments);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setupAdvertisersAndAffiliates() {
|
function setupAdvertisersAndAffiliates() {
|
||||||
|
|
@ -39,7 +51,6 @@ function updateExternalParameterState() {
|
||||||
const externalParameterVinSelection = getQuerystringParameter(queryStrings.VIN_SELECTION);
|
const externalParameterVinSelection = getQuerystringParameter(queryStrings.VIN_SELECTION);
|
||||||
const externalParameterServicePackage = getQuerystringParameter(queryStrings.SERVICE_PACKAGE);
|
const externalParameterServicePackage = getQuerystringParameter(queryStrings.SERVICE_PACKAGE);
|
||||||
const externalParameterNumberOfChips = getQuerystringParameter(queryStrings.NUMBER_OF_CHIPS);
|
const externalParameterNumberOfChips = getQuerystringParameter(queryStrings.NUMBER_OF_CHIPS);
|
||||||
const externalParameterSource = getQuerystringParameter(queryStrings.EXPERIMENTS);
|
|
||||||
const externalParameterPhoneNumber = getQuerystringParameter(queryStrings.PHONE_NUMBER);
|
const externalParameterPhoneNumber = getQuerystringParameter(queryStrings.PHONE_NUMBER);
|
||||||
|
|
||||||
if (!externalParameterZipCode) {
|
if (!externalParameterZipCode) {
|
||||||
|
|
@ -58,7 +69,6 @@ function updateExternalParameterState() {
|
||||||
debugLog("externalParameterVinSelection:", externalParameterVinSelection);
|
debugLog("externalParameterVinSelection:", externalParameterVinSelection);
|
||||||
debugLog("externalParameterServicePackage:", externalParameterServicePackage);
|
debugLog("externalParameterServicePackage:", externalParameterServicePackage);
|
||||||
debugLog("externalParameterNumberOfChips:", externalParameterNumberOfChips);
|
debugLog("externalParameterNumberOfChips:", externalParameterNumberOfChips);
|
||||||
debugLog("externalParameterSource:", externalParameterSource);
|
|
||||||
debugLog("externalPhoneNumber:", externalParameterPhoneNumber);
|
debugLog("externalPhoneNumber:", externalParameterPhoneNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -115,9 +125,6 @@ function updateExternalParameterState() {
|
||||||
externalParameterVinSelection
|
externalParameterVinSelection
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (externalParameterSource) {
|
|
||||||
store.commit(storeMutations.UPDATE_EXTERNAL_PARAMETER_SOURCE, externalParameterSource);
|
|
||||||
}
|
|
||||||
if (externalParameterPhoneNumber) {
|
if (externalParameterPhoneNumber) {
|
||||||
store.commit(
|
store.commit(
|
||||||
storeMutations.UPDATE_EXTERNAL_PARAMETER_PHONE_NUMBER,
|
storeMutations.UPDATE_EXTERNAL_PARAMETER_PHONE_NUMBER,
|
||||||
|
|
|
||||||
|
|
@ -28,3 +28,15 @@ export async function runExperiments(nextPageName) {
|
||||||
nextPageName
|
nextPageName
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function forceExperiments(forceExperimentQueryStringValues) {
|
||||||
|
await baseMixin.methods.dispatchStoreActionWithLogging(
|
||||||
|
storeActions.FORCE_EXPERIMENTS,
|
||||||
|
{
|
||||||
|
deviceId: getDeviceIdValue(),
|
||||||
|
queryStringExperiments: forceExperimentQueryStringValues,
|
||||||
|
},
|
||||||
|
"/",
|
||||||
|
false
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1816,6 +1816,25 @@ export const actions = {
|
||||||
context.commit(storeMutations.UPDATE_EXPERIMENTS, response.data.experiments);
|
context.commit(storeMutations.UPDATE_EXPERIMENTS, response.data.experiments);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
async forceExperiments(
|
||||||
|
context,
|
||||||
|
{ payload: { deviceId, queryStringExperiments }, pageNameToLog }
|
||||||
|
) {
|
||||||
|
var payload = {
|
||||||
|
applicationName: applicationConfig.APPLICATION_NAME,
|
||||||
|
deviceId: deviceId,
|
||||||
|
queryStringExperiments: queryStringExperiments,
|
||||||
|
};
|
||||||
|
|
||||||
|
const response = await globalMethods.callHttpClient({
|
||||||
|
method: endpoints.ForceExperiments.method,
|
||||||
|
endpoint: endpoints.ForceExperiments.url,
|
||||||
|
payload: payload,
|
||||||
|
logApiCall: true,
|
||||||
|
pageNameToLog: pageNameToLog,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
getEvoxImage(context, { relativeUrl }) {
|
getEvoxImage(context, { relativeUrl }) {
|
||||||
return globalMethods.callHttpClient({
|
return globalMethods.callHttpClient({
|
||||||
method: endpoints.GetPageData.method,
|
method: endpoints.GetPageData.method,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue