///
declare namespace Cypress {
interface AddFlexibleRolloutStrategyOptions {
featureToggleName: string;
project?: string;
environment?: string;
stickiness?: string;
}
interface UserCredentials {
email: string;
password: string;
}
interface Chainable {
runBefore(): Chainable;
login_UI(user = AUTH_USER, password = AUTH_PASSWORD): Chainable;
logout_UI(): Chainable;
createProject_UI(
projectName: string,
defaultStickiness: string
): Chainable;
createFeature_UI(
name: string,
shouldWait?: boolean,
project?: string
): Chainable;
// VARIANTS
addVariantsToFeature_UI(
featureToggleName: string,
variants: Array,
projectName?: string
);
deleteVariant_UI(
featureToggleName: string,
variant: string,
projectName?: string
): Chainable;
// SEGMENTS
createSegment_UI(segmentName: string): Chainable;
deleteSegment_UI(segmentName: string, id: string): Chainable;
// STRATEGY
addUserIdStrategyToFeature_UI(
featureName: string,
strategyId: string,
projectName?: string
): Chainable;
addFlexibleRolloutStrategyToFeature_UI(
options: AddFlexibleRolloutStrategyOptions
): Chainable;
updateFlexibleRolloutStrategy_UI(
featureToggleName: string,
strategyId: string
);
deleteFeatureStrategy_UI(
featureName: string,
strategyId: string,
shouldWait?: boolean,
projectName?: string
): Chainable;
// API
createUser_API(userName: string, role: number): Chainable;
updateUserPassword_API(id: number, pass?: string): Chainable;
addUserToProject_API(
id: number,
role: number,
projectName?: string
): Chainable;
createProject_API(name: string): Chainable;
deleteProject_API(name: string): Chainable;
createFeature_API(name: string, projectName?: string): Chainable;
deleteFeature_API(name: string): Chainable;
}
}