/** * Test if subscription expired triggers an event. */ public function testSubscriptionExpiredTriggersAnEvent() { $event_triggered = false; $note = 'some note'; $this->dispatcher->listen(DispatcherInterface::ON_SUBSCRIPTION_EXPIRED, function (SubscriptionInterface $subscription, $note) use(&$event_triggered) { $this->assertInstanceOf(Subscription::class, $subscription); $this->assertEquals($this->subscription->getReference(), $subscription->getReference()); $event_triggered = true; }); $this->gateway->triggerSubscriptionExpired($this->subscription, $note); $this->assertTrue($event_triggered); }
/** * Test if failed subscription payment triggers an event. */ public function testFailedSubscriptionPaymentTriggersAnEvent() { $event_triggered = false; $this->dispatcher->listen(DispatcherInterface::ON_SUBSCRIPTION_PAYMENT_FAILED, function (GatewayInterface $gateway, SubscriptionInterface $subscription, FailedPaymentInterface $failed_payment) use(&$event_triggered) { $this->assertInstanceOf(OffsitePaymentGateway::class, $gateway); $this->assertInstanceOf(Subscription::class, $subscription); $this->assertInstanceOf(FailedPaymentInterface::class, $failed_payment); $this->assertEquals($this->subscription->getReference(), $subscription->getReference()); $this->assertEquals($this->subscription->getReference(), $failed_payment->getSubscriptionReference()); $event_triggered = true; }); $this->gateway->triggerSubscriptionFailedPayment($this->subscription); $this->assertTrue($event_triggered); }
/** * Trigger subscription expired an event. * * @param SubscriptionInterface $subscription * @param string $note */ public function triggerSubscriptionExpired(SubscriptionInterface $subscription, $note) { $this->subscriptions[$subscription->getReference()] = $subscription; $this->getDispatcher()->triggerSubscriptionExpired($subscription, $note); }
/** * Add subscription to the list of available subscriptions. * * @param SubscriptionInterface $subscription */ public function registerSubscription(SubscriptionInterface $subscription) { $this->subscriptions[$subscription->getReference()] = $subscription; }