23 private $connectorMock;
28 private $configWriterMock;
33 private $flagManagerMock;
38 private $reinitableConfigMock;
47 $this->connectorMock = $this->getMockBuilder(Connector::class)
48 ->disableOriginalConstructor()
50 $this->configWriterMock = $this->getMockBuilder(WriterInterface::class)
51 ->disableOriginalConstructor()
53 $this->flagManagerMock = $this->getMockBuilder(FlagManager::class)
54 ->disableOriginalConstructor()
56 $this->reinitableConfigMock = $this->getMockBuilder(ReinitableConfigInterface::class)
57 ->disableOriginalConstructor()
60 $this->signUp =
new SignUp(
62 $this->configWriterMock,
63 $this->flagManagerMock,
64 $this->reinitableConfigMock
72 $this->flagManagerMock->expects($this->once())
73 ->method(
'getFlagData')
75 ->willReturn($attemptsCount);
78 $this->flagManagerMock->expects($this->once())
81 $this->connectorMock->expects($this->once())
85 $this->addDeleteAnalyticsCronExprAsserts();
86 $this->flagManagerMock->expects($this->once())
87 ->method(
'deleteFlag')
89 $this->assertTrue($this->signUp->execute());
94 $this->flagManagerMock->expects($this->once())
95 ->method(
'getFlagData')
98 $this->addDeleteAnalyticsCronExprAsserts();
99 $this->assertFalse($this->signUp->execute());
105 $this->flagManagerMock->expects($this->once())
106 ->method(
'getFlagData')
108 ->willReturn($attemptsCount);
109 $this->addDeleteAnalyticsCronExprAsserts();
110 $this->flagManagerMock->expects($this->once())
111 ->method(
'deleteFlag')
113 $this->assertFalse($this->signUp->execute());
121 private function addDeleteAnalyticsCronExprAsserts()
123 $this->configWriterMock
124 ->expects($this->once())
128 $this->reinitableConfigMock
129 ->expects($this->once())
testExecuteFlagNotExist()
testExecuteZeroAttempts()
const ATTEMPTS_REVERSE_COUNTER_FLAG_CODE