⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 customexporttest.php

📁 国外的人才求职招聘最新版
💻 PHP
📖 第 1 页 / 共 2 页
字号:
		$this->assertEquals($countBefore - 3, $count);    }    /**     * Test case for save() method for new custom export definition     */    public function testSaveNew() {		$countBefore = $this->_count();		// save with duplicate name should throw exception		$export = new CustomExport();		$export->setName("Export 1");		$export->setAssignedFields(array("empId", "street1", "gender"));		try {			$export->save();			$this->fail("Exception should be thrown on duplicate name");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::DUPLICATE_EXPORT_NAME, $e->getCode(), $e->getMessage());		}		// Exception should be thrown on empty name		$export = new CustomExport();		$export->setName("");		$export->setAssignedFields(array("empId", "street1", "gender"));		try {			$export->save();			$this->fail("Exception should be thrown on empty name");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::EMPTY_EXPORT_NAME, $e->getCode());		}		// save with empty fields should throw exception		$export->setName("New Export 1");		$export->setAssignedFields(array());		try {			$export->save();			$this->fail("Exception should be thrown on empty assigned fields");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::NO_ASSIGNED_FIELDS, $e->getCode());		}		$export->setName("New Export 1");		$export->setAssignedFields(null);		try {			$export->save();			$this->fail("Exception should be thrown on empty assigned fields");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::NO_ASSIGNED_FIELDS, $e->getCode());		}		// save with field not in field list should throw exception		$export->setName("New Export 1");		$export->setAssignedFields(array("firstName", "lastName", "EmployeeId"));		try {			$export->save();			$this->fail("Exception should be thrown on invalid field");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::INVALID_FIELD_NAME, $e->getCode());		}		// save with field count != header count should throw exception		$export->setName("New Export 1");		$export->setAssignedFields(array("empId", "street1", "gender"));		$export->setHeadings(array("Employee Id", "Street 1", "Street 2", "Gender"));		try {			$export->save();			$this->fail("Exception should be thrown on empty assigned fields");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::HEADER_COUNT_DOESNT_MATCH_FIELD_COUNT, $e->getCode());		}		// save with header containing comma should throw exception		$export->setName("New Export 1");		$export->setAssignedFields(array("empId", "street1", "gender"));		$export->setHeadings(array("Employee Id", "Street 1", "Street, 2"));		try {			$export->save();			$this->fail("Exception should be thrown on invalid header names");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::INVALID_HEADER_NAME, $e->getCode());		}		// valid save, verify data saved		$export->setName("New Export 1");		$export->setAssignedFields(array("empId", "street1", "gender"));		$export->setHeadings(array("Employee Id", "Street 1", "Gender"));		$export->save();		$id = $export->getId();		// verify id set		$this->assertTrue(!empty($id));		$this->assertEquals(4, $id);		// verify saved		$name = $export->getName();		$fields = implode(",", $export->getAssignedFields());		$header = implode(",", $export->getHeadings());		$countAfter = $this->_count();		$this->assertEquals(1, $countAfter - $countBefore);		$count = $this->_count("export_id={$id} AND name='{$name}' AND fields='{$fields}' AND headings='{$header}'");		$this->assertEquals(1, $count, "Not inserted");		// should be able to save with empty headings		$export2 = new CustomExport();		$export2->setName("New Export 2");		$export2->setAssignedFields(array("empId", "street1", "gender"));		$export2->save();		$id = $export2->getId();		// verify id set		$this->assertTrue(!empty($id));		$this->assertEquals(5, $id);		// verify saved		$name = $export2->getName();		$fields = implode(",", $export2->getAssignedFields());		$header = "";		$countAfter = $this->_count();		$this->assertEquals(2, $countAfter - $countBefore);		$count = $this->_count("export_id={$id} AND name='{$name}' AND fields='{$fields}' AND headings='{$header}'");		$this->assertEquals(1, $count, "Not inserted");    }    /**     * Test case for save() method for existing custom export definition     */    public function testSaveUpdate() {		$countBefore = $this->_count();		// save with duplicate name should throw exception		$export = new CustomExport();		// we set id = 2, so save should update the record with id=2		$export->setId(2);		$export->setName("Export 1");		$export->setAssignedFields(array("empId", "street1", "gender"));		try {			$export->save();			$this->fail("Exception should be thrown on duplicate name");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::DUPLICATE_EXPORT_NAME, $e->getCode());		}		// save with empty fields should throw exception		$export->setName("New Export 1");		$export->setAssignedFields(array());		try {			$export->save();			$this->fail("Exception should be thrown on empty assigned fields");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::NO_ASSIGNED_FIELDS, $e->getCode());		}		$export->setName("New Export 1");		$export->setAssignedFields(null);		try {			$export->save();			$this->fail("Exception should be thrown on empty assigned fields");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::NO_ASSIGNED_FIELDS, $e->getCode());		}		// save with field not in field list should throw exception		$export->setName("New Export 1");		$export->setAssignedFields(array("firstName", "lastName", "EmployeeId"));		try {			$export->save();			$this->fail("Exception should be thrown on invalid field");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::INVALID_FIELD_NAME, $e->getCode());		}		// save with field count != header count should throw exception		$export->setName("New Export 1");		$export->setAssignedFields(array("empId", "street1", "gender"));		$export->setHeadings(array("Employee Id", "Street 1", "Street 2", "Gender"));		try {			$export->save();			$this->fail("Exception should be thrown on header count mismatch");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::HEADER_COUNT_DOESNT_MATCH_FIELD_COUNT, $e->getCode());		}		// save with header containing comma should throw exception		$export->setName("New Export 1");		$export->setAssignedFields(array("empId", "street1", "gender"));		$export->setHeadings(array("Employee Id", "Street 1", "Street, 2"));		try {			$export->save();			$this->fail("Exception should be thrown on invalid header name");		} catch (CustomExportException $e) {			$this->assertEquals(CustomExportException::INVALID_HEADER_NAME, $e->getCode());		}		// valid save, verify data saved		$export->setName("New Export 1");		$export->setAssignedFields(array("empId", "street1", "gender"));		$export->setHeadings(array("Employee Id", "Street 1", "Gender"));		$export->save();		$id = $export->getId();		// verify id not changed		$this->assertTrue(!empty($id));		$this->assertEquals(2, $id);		// verify saved		$name = $export->getName();		$fields = implode(",", $export->getAssignedFields());		$header = implode(",", $export->getHeadings());		$countAfter = $this->_count();		$this->assertEquals($countAfter, $countBefore);		$count = $this->_count("export_id={$id} AND name='{$name}' AND fields='{$fields}' AND headings='{$header}'");		$this->assertEquals(1, $count, "Not Updated");		// Save without changing anything		$export->save();		$id = $export->getId();		// verify id not changed		$this->assertTrue(!empty($id));		$this->assertEquals(2, $id);		$countAfter = $this->_count();		$this->assertEquals($countAfter, $countBefore);		$count = $this->_count("export_id={$id} AND name='{$name}' AND fields='{$fields}' AND headings='{$header}'");		$this->assertEquals(1, $count, "Not Updated");    }	private function _runQuery($sql) {		$this->assertTrue(mysql_query($sql), mysql_error());	}	/**	 * Count the number of rows in the database with the give condition	 *	 * @param string $where Optional where condition	 * @return int Number of matching rows in database	 */    private function _count($where = null) {    	$sql = "SELECT COUNT(*) FROM hs_hr_custom_export";    	if (!empty($where)) {    		$sql .= " WHERE " . $where;    	}		$result = mysql_query($sql);		$row = mysql_fetch_array($result, MYSQL_NUM);        $count = $row[0];		return $count;    }}// Call CustomExportTest::main() if this source file is executed directly.if (PHPUnit_MAIN_METHOD == "CustomExportTest::main") {    CustomExportTest::main();}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -