Example #1
0
 /**
  * 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;
 }