/** * @group testing * @test * @codeCoverageIgnore */ public function createSubscriptionWithOffer() { $offerModel = new Models\Request\Offer(); $offerModel->setAmount(100)->setCurrency('EUR')->setInterval('2 DAY')->setName('TestOffer'); $offerModelResponse = $this->_service->create($offerModel); $this->assertInstanceOf('Paymill\\Models\\Response\\Offer', $offerModelResponse, var_export($offerModelResponse, true)); $PaymentModel = new Models\Request\Payment(); $PaymentModel->setToken("098f6bcd4621d373cade4e832627b4f6"); $PaymentModelResponse = $this->_service->create($PaymentModel); $this->assertInstanceOf('Paymill\\Models\\Response\\Payment', $PaymentModelResponse, var_export($PaymentModelResponse, true)); $this->_model->setClient($PaymentModelResponse->getClient())->setOffer($offerModelResponse->getId())->setPayment($PaymentModelResponse->getId()); $result = $this->_service->create($this->_model); $this->assertInstanceOf('Paymill\\Models\\Response\\Subscription', $result, var_export($result, true)); $offerModel->setRemoveWithSubscriptions(false); $this->_service->delete($offerModel->setId($offerModelResponse->getId())); return $result; }
/** * @test * @codeCoverageIgnore * * */ public function deleteOfferWithoutSubscriptions() { $offer = $this->createOffer(); $subscriptionResponse = $this->getRequestSubscription($offer); $subscriptionRequest = new Models\Request\Subscription(); $subscriptionRequest->setId($subscriptionResponse->getId()); $this->assertInstanceOf('Paymill\\Models\\Response\\Subscription', $subscriptionWithOffer = $this->_service->getOne($subscriptionRequest), var_export($subscriptionWithOffer, true)); $this->_model->setRemoveWithSubscriptions(false)->setId($offer->getId()); $result = $this->_service->delete($this->_model); $this->assertInternalType('array', $result, var_export($result, true)); $subscriptionRequest->setId($subscriptionWithOffer->getId()); $subscriptionResponse = $this->_service->getOne($subscriptionRequest); $this->assertFalse($subscriptionResponse->getIsCanceled()); $this->assertFalse($subscriptionResponse->getIsDeleted()); }
/** * Test the Parameterize function of the model * @test * @depends setGetTest */ public function parameterizeTest(Request\Offer $offer) { $testId = "offer_88a388d9dd48f86c3136"; $offer->setId($testId); $creationArray = $offer->parameterize("create"); $offer->setUpdateSubscriptions(true); $updateArray = $offer->parameterize("update"); $getOneArray = $offer->parameterize("getOne"); $this->assertEquals($creationArray, array('amount' => 4200, 'currency' => 'EUR', 'interval' => '1 MONTH', 'name' => 'Test Offer', 'trial_period_days' => null)); $expectedUpdateArray = array('name' => $offer->getName(), 'amount' => $offer->getAmount(), 'currency' => $offer->getCurrency(), 'interval' => $offer->getInterval(), 'trial_period_days' => $offer->getTrialPeriodDays(), 'update_subscriptions' => $offer->getUpdateSubscriptions()); $this->assertEquals($expectedUpdateArray, $updateArray); $this->assertEquals($getOneArray, array('count' => 1, 'offset' => 0)); }