public function it_should_run_transasction_validator_on_validating(TransactionValidator $validator, BillableInterface $billable) { $billable->getPaymentPrice()->willReturn(500); $billable->getBillableId()->willReturn('billable-id'); $validator->handle('billable-id', 500)->shouldBeCalled(); $this->setValidator($validator); $this->validate(); }
/** * {@inheritDoc} */ public function makeRequestForm(BillableInterface $billable, $lang = 'mn') { $form = new RedirectForm($this->requestAction, 'POST'); $form->putParam('trans_amount', $billable->getPaymentPrice()); $form->putParam('trans_number', $billable->getBillableId()); $form->putParam('key_number', $this->merchantId); $form->putParam('subID', $this->subID); $form->putParam('lang', $this->getLangId($lang)); return $form; }
public function it_makes_a_redirect_form(BillableInterface $billable) { $billable->getPaymentPrice()->willReturn(500); $billable->getBillableId()->willReturn('billable-id'); $form = $this->makeRequestForm($billable); $form->shouldHaveType('Selmonal\\Payment\\RedirectForm'); $form->getParams()->shouldHaveCount(5); $form->getParams()->shouldHaveKeyWithValue('trans_amount', 500); $form->getParams()->shouldHaveKeyWithValue('trans_number', 'billable-id'); $form->getParams()->shouldHaveKeyWithValue('key_number', 'merchant-id'); $form->getParams()->shouldHaveKeyWithValue('subID', 1); $form->getParams()->shouldHaveKeyWithValue('lang', 0); $form->getMethod()->shouldEqual('POST'); $form->getAction()->shouldEqual('request-action'); $form = $this->makeRequestForm($billable, 'mn'); $form->getParams()->shouldHaveKeyWithValue('lang', 0); $form = $this->makeRequestForm($billable, 'en'); $form->getParams()->shouldHaveKeyWithValue('lang', 1); $this->shouldThrow('InvalidArgumentException')->duringMakeRequestForm($billable, 'invalid'); }