21 private $scopeConfigMock;
26 private $analyticsTokenMock;
31 private $flagManagerMock;
36 private $objectManagerHelper;
41 private $statusProvider;
48 $this->scopeConfigMock = $this->getMockBuilder(ScopeConfigInterface::class)
49 ->getMockForAbstractClass();
51 $this->analyticsTokenMock = $this->getMockBuilder(AnalyticsToken::class)
52 ->disableOriginalConstructor()
55 $this->flagManagerMock = $this->getMockBuilder(FlagManager::class)
56 ->disableOriginalConstructor()
59 $this->objectManagerHelper =
new ObjectManagerHelper($this);
61 $this->statusProvider = $this->objectManagerHelper->getObject(
62 SubscriptionStatusProvider::class,
64 'scopeConfig' => $this->scopeConfigMock,
65 'analyticsToken' => $this->analyticsTokenMock,
66 'flagManager' => $this->flagManagerMock,
77 $this->analyticsTokenMock->expects($this->once())
78 ->method(
'isTokenExist')
80 $this->scopeConfigMock->expects($this->once())
82 ->with(
'analytics/subscription/enabled')
85 $this->expectFlagManagerReturn($flagManagerData);
95 'Subscription update doesn\'t active' => [
96 'Flag Manager data mapping' => [
101 'Subscription update is active' => [
102 'Flag Manager data mapping' => [
117 $this->analyticsTokenMock->expects($this->once())
118 ->method(
'isTokenExist')
119 ->willReturn($isTokenExist);
120 $this->scopeConfigMock->expects($this->once())
122 ->with(
'analytics/subscription/enabled')
125 $this->expectFlagManagerReturn($flagManagerData);
135 'Subscription update doesn\'t active and the token does not exist' => [
136 'Flag Manager data mapping' => [
140 'isTokenExist' =>
false,
142 'Subscription update is active and the token does not exist' => [
143 'Flag Manager data mapping' => [
147 'isTokenExist' =>
false,
149 'Subscription update is active and token exist' => [
150 'Flag Manager data mapping' => [
154 'isTokenExist' =>
true,
161 $this->flagManagerMock
162 ->method(
'getFlagData')
165 $this->analyticsTokenMock->expects($this->once())
166 ->method(
'isTokenExist')
168 $this->scopeConfigMock->expects($this->once())
170 ->with(
'analytics/subscription/enabled')
177 $this->scopeConfigMock->expects($this->once())
179 ->with(
'analytics/subscription/enabled')
187 private function expectFlagManagerReturn(array $mapping)
189 $this->flagManagerMock
190 ->method(
'getFlagData')
191 ->willReturnMap($mapping);
testGetStatusShouldBeDisabled()
getStatusShouldBePendingDataProvider()
testGetStatusShouldBeEnabled()
testGetStatusShouldBePending(array $flagManagerData, bool $isTokenExist)
const PREVIOUS_BASE_URL_FLAG_CODE
getStatusShouldBeFailedDataProvider()
const ATTEMPTS_REVERSE_COUNTER_FLAG_CODE
testGetStatusShouldBeFailed(array $flagManagerData)