function testGetFRSPackageFromDb() { $packageArray1 = array('package_id' => 1, 'group_id' => 1, 'name' => 'pkg1', 'status_id' => 2, 'rank' => null, 'approve_license' => null, 'data_array' => null, 'package_releases' => null, 'error_state' => null, 'error_message' => null); $package1 = FRSPackageFactory::getFRSPackageFromArray($packageArray1); $dar1 = new MockDataAccessResult($this); $dar1->setReturnValue('isError', false); $dar1->setReturnValue('current', $packageArray1); $dar1->setReturnValueAt(0, 'valid', true); $dar1->setReturnValueAt(1, 'valid', false); $dar1->setReturnValue('rowCount', 1); $packageArray2 = array('package_id' => 2, 'group_id' => 2, 'name' => 'pkg2', 'status_id' => 1, 'rank' => null, 'approve_license' => null, 'data_array' => null, 'package_releases' => null, 'error_state' => null, 'error_message' => null); $package2 = FRSPackageFactory::getFRSPackageFromArray($packageArray2); $dar2 = new MockDataAccessResult($this); $dar2->setReturnValue('isError', false); $dar2->setReturnValue('current', $packageArray2); $dar2->setReturnValueAt(0, 'valid', true); $dar2->setReturnValueAt(1, 'valid', false); $dar2->setReturnValue('rowCount', 1); $dar3 = new MockDataAccessResult($this); $dar3->setReturnValue('isError', false); $dar3->setReturnValue('current', array()); $dar3->setReturnValueAt(0, 'valid', true); $dar3->setReturnValueAt(1, 'valid', false); $dar3->setReturnValue('rowCount', 0); $dao = new FRSPackageDaoTestVersion(); $dao->da = TestHelper::getPartialMock('DataAccess', array('DataAccess')); $dao->setReturnValue('retrieve', $dar1, array('SELECT p.* FROM frs_package AS p WHERE p.package_id = 1 ORDER BY rank DESC LIMIT 1')); $dao->setReturnValue('retrieve', $dar2, array('SELECT p.* FROM frs_package AS p WHERE p.package_id = 2 AND p.status_id != 0 ORDER BY rank DESC LIMIT 1')); $dao->setReturnValue('retrieve', $dar3); $PackageFactory = new FRSPackageFactoryTestVersion(); $PackageFactory->setReturnValue('_getFRSPackageDao', $dao); $this->assertEqual($PackageFactory->getFRSPackageFromDb(1, null, 0x1), $package1); $this->assertEqual($PackageFactory->getFRSPackageFromDb(2), $package2); }