|
|
@@ -49,37 +49,37 @@ const DEFAULT_ASSIGNMENT = {
|
|
|
* @returns {Promise<{variant: string, analytics: {segmentation: {splitTest: string, variant: string, phase: string, versionNumber: number}|{}}}>}
|
|
|
*/
|
|
|
async function getAssignment(req, res, splitTestName, { sync = false } = {}) {
|
|
|
- if (!Features.hasFeature('saas')) {
|
|
|
- return _getNonSaasAssignment(splitTestName)
|
|
|
- }
|
|
|
-
|
|
|
const query = req.query || {}
|
|
|
let assignment
|
|
|
|
|
|
- // Check the query string for an override, ignoring an invalid value
|
|
|
- const queryVariant = query[splitTestName]
|
|
|
- if (queryVariant) {
|
|
|
- const variants = await _getVariantNames(splitTestName)
|
|
|
- if (variants.includes(queryVariant)) {
|
|
|
- assignment = {
|
|
|
- variant: queryVariant,
|
|
|
- analytics: {
|
|
|
- segmentation: {},
|
|
|
- },
|
|
|
+ if (!Features.hasFeature('saas')) {
|
|
|
+ assignment = _getNonSaasAssignment(splitTestName)
|
|
|
+ } else {
|
|
|
+ // Check the query string for an override, ignoring an invalid value
|
|
|
+ const queryVariant = query[splitTestName]
|
|
|
+ if (queryVariant) {
|
|
|
+ const variants = await _getVariantNames(splitTestName)
|
|
|
+ if (variants.includes(queryVariant)) {
|
|
|
+ assignment = {
|
|
|
+ variant: queryVariant,
|
|
|
+ analytics: {
|
|
|
+ segmentation: {},
|
|
|
+ },
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- if (!assignment) {
|
|
|
- const { userId, analyticsId } = AnalyticsManager.getIdsFromSession(
|
|
|
- req.session
|
|
|
- )
|
|
|
- assignment = await _getAssignment(splitTestName, {
|
|
|
- analyticsId,
|
|
|
- userId,
|
|
|
- session: req.session,
|
|
|
- sync,
|
|
|
- })
|
|
|
+ if (!assignment) {
|
|
|
+ const { userId, analyticsId } = AnalyticsManager.getIdsFromSession(
|
|
|
+ req.session
|
|
|
+ )
|
|
|
+ assignment = await _getAssignment(splitTestName, {
|
|
|
+ analyticsId,
|
|
|
+ userId,
|
|
|
+ session: req.session,
|
|
|
+ sync,
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
LocalsHelper.setSplitTestVariant(
|