chromium/ios/chrome/app/variations_app_state_agent+testing.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef IOS_CHROME_APP_VARIATIONS_APP_STATE_AGENT_TESTING_H_
#define IOS_CHROME_APP_VARIATIONS_APP_STATE_AGENT_TESTING_H_

namespace base {
class Time;
}  // namespace base
@class IOSChromeVariationsSeedFetcher;

// Name of current experiment.
extern const char kIOSChromeVariationsTrialName[];

// Name for the default group.
extern const char kIOSChromeVariationsTrialDefaultGroup[];
// Name for the control group.
extern const char kIOSChromeVariationsTrialControlGroup[];
// Name for the enabled group.
extern const char kIOSChromeVariationsTrialEnabledGroup[];

// Histogram name for seed expiry.
extern const char kIOSSeedExpiryHistogram[];

@interface VariationsAppStateAgent (Testing)

// Initializer that takes an existing fetcher and the enabled and control
// weights to turn on the feature that fetches seed on first run should be
// enabled.
- (instancetype)initWithFirstRunExperience:(BOOL)shouldPresentFRE
                         lastSeedFetchTime:(base::Time)lastSeedFetchTime
                                   fetcher:
                                       (IOSChromeVariationsSeedFetcher*)fetcher
                        enabledGroupWeight:(int)enabledGroupWeight
                        controlGroupWeight:(int)controlGroupWeight;

@end

#endif  // IOS_CHROME_APP_VARIATIONS_APP_STATE_AGENT_TESTING_H_