public function test_send__always__delegatesSendingToSender() { // act $this->sut->send(self::SOME_MSISDN, self::SOME_CODE); // assert $expectedSentVerification = new Verification(self::SOME_MSISDN, self::SOME_CODE); self::assertTrue($this->fakeSender->sendHaveBeenCalledWith($expectedSentVerification)); }
public function test_send__firstSenderFails__delegatesToSecondSender() { // arrange $firstSender = new FakeVerificationSender(); $firstSender->exception = new GatewayFailureException(); $secondSender = new FakeVerificationSender(); $sut = new VerificationSenderFailover([$firstSender, $secondSender]); // act $sut->send($this->someVerification); // assert self::assertTrue($secondSender->sendHaveBeenCalledWith($this->someVerification)); }