All pastes #160097 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-09-03 21:10 UTC
rendered paste body
<?php

require_once (dirname(__FILE__) . '/../../../includes.php');



class TransactionTest extends UnitTestCase {

	public function testBuyerCodeWithMoreThan24Characters() {

		$transaction = new Transaction();

		try {

			$transaction->buyerCode = '1234567890123456789012345';

			$this->fail("should have gotten an exception");

		} catch (RangeInvalidException $e) {

			$this->assertEqual('Length exceeds allowed length. Maximum length is 24.', $e->getMessage());

		}



	}



	public function testBuyerCode() {

		$transaction = new Transaction();

		$transaction->buyerCode = '123456789012345678901234';

		$this->assertEqual('123456789012345678901234', $transaction->buyerCode);

	}

	public function testAuthCodeWithLessThan6() {

		$transaction = new Transaction();

		$transaction->authCode = '123456';

		$this->assertEqual('123456', $transaction->authCode);

	}



	public function testAuthCodeWithMoreThan6Chars() {

		$this->assertInvalidValueThrowsException('authCode', '1234567');

	}



	public function assertInvalidValueThrowsException($attr, $value){

		$transaction = new Transaction();

		try{

			$transaction->$attr = $value;

			$this->fail("should have gotten an exception assigning value $value to Transaction::$attr.");

		}catch(RangeInvalidException $e){

			$this->pass();

		}

	}



	public function testAuthMethodInvalidType() {

		$this->assertInvalidValueThrowsException('authMethod', 'INVALIDMETHOD');

	}



	public function assertValidValues($values, $attribute){

		$transaction = new Transaction();

		try{

		foreach($values as $value){

			$transaction->$attribute = $value;

		}

		$this->pass();

		}catch(RangeInvalidException $e){

			$this->fail("should not have gotten an exception");

		}

	}

	public function testValidTypes(){

		$values = array('Online', 'batch', 'setup', 'getDetails');

		$this->assertValidValues($values, 'authMethod');

	}



	public function testBatchProcessorValidValues(){

		$values = array('PAYMENTECH_SALEM');

		$this->assertValidValues($values, 'batchProcessor');

	}



	public function testBatchProcessorInvalidValue(){

		$this->assertInvalidValueThrowsException('batchProcessor', 'PAYMENTECH_');

	}



	public function testBillPaymentFlagValidValues(){

		$values = array(1, 2);

		$this->assertValidValues($values, 'billPaymentFlag');

	}



	public function testBillPaymentFlagInvalidValues(){

		$this->assertInvalidValueThrowsException('billPaymentFlag', 3);

	}



}

?>