21 private $analyticsTokenMock;
26 private $flagManagerMock;
31 private $reinitableConfigMock;
36 private $configWriterMock;
41 private $objectManagerHelper;
46 private $subscriptionUpdateHandler;
51 private $attemptsInitValue = 48;
56 private $cronExpression =
'0 * * * *';
63 $this->reinitableConfigMock = $this->getMockBuilder(ReinitableConfigInterface::class)
64 ->disableOriginalConstructor()
65 ->getMockForAbstractClass();
67 $this->analyticsTokenMock = $this->getMockBuilder(AnalyticsToken::class)
68 ->disableOriginalConstructor()
71 $this->flagManagerMock = $this->getMockBuilder(FlagManager::class)
72 ->disableOriginalConstructor()
75 $this->configWriterMock = $this->getMockBuilder(WriterInterface::class)
76 ->disableOriginalConstructor()
77 ->getMockForAbstractClass();
79 $this->objectManagerHelper =
new ObjectManagerHelper($this);
81 $this->subscriptionUpdateHandler = $this->objectManagerHelper->getObject(
82 SubscriptionUpdateHandler::class,
84 'reinitableConfig' => $this->reinitableConfigMock,
85 'analyticsToken' => $this->analyticsTokenMock,
86 'flagManager' => $this->flagManagerMock,
87 'configWriter' => $this->configWriterMock,
97 $this->analyticsTokenMock
98 ->expects($this->once())
99 ->method(
'isTokenExist')
102 $this->flagManagerMock
103 ->expects($this->never())
104 ->method(
'saveFlag');
105 $this->configWriterMock
106 ->expects($this->never())
108 $this->assertTrue($this->subscriptionUpdateHandler->processUrlUpdate(
'http://store.com'));
116 $url =
'https://store.com';
117 $this->analyticsTokenMock
118 ->expects($this->once())
119 ->method(
'isTokenExist')
122 $this->flagManagerMock
123 ->expects($this->once())
124 ->method(
'getFlagData')
127 $this->flagManagerMock
128 ->expects($this->once())
134 $this->configWriterMock
135 ->expects($this->once())
138 $this->reinitableConfigMock
139 ->expects($this->once())
142 $this->assertTrue($this->subscriptionUpdateHandler->processUrlUpdate(
$url));
150 $url =
'https://store.com';
151 $this->analyticsTokenMock
152 ->expects($this->once())
153 ->method(
'isTokenExist')
156 $this->flagManagerMock
157 ->expects($this->once())
158 ->method(
'getFlagData')
161 $this->flagManagerMock
162 ->expects($this->exactly(2))
168 $this->configWriterMock
169 ->expects($this->once())
172 $this->reinitableConfigMock
173 ->expects($this->once())
176 $this->assertTrue($this->subscriptionUpdateHandler->processUrlUpdate(
$url));
testTokenExistAndWithoutPreviousBaseUrl()
testTokenAndPreviousBaseUrlExist()
const PREVIOUS_BASE_URL_FLAG_CODE
const SUBSCRIPTION_UPDATE_REVERSE_COUNTER_FLAG_CODE
const UPDATE_CRON_STRING_PATH