case = BeanFactory::getBean('Cases'); } public function tearDown() { /** @var DBManager */ global $db; if ($this->case && $this->case->id) { $query = 'DELETE FROM cases where id = ' . $db->quoted($this->case->id); $db->query($query); } SugarTestHelper::tearDown(); } public function testGetCaseIdFromCaseNumber() { $this->case->save(); $id = $this->case->id; $this->case->disable_row_level_security = true; $this->case->retrieve($id); $number = $this->case->case_number; $ie = new InboundEmail(); $subject = '[CASE:' . $number . ']'; $actual_id = $ie->getCaseIdFromCaseNumber($subject, $this->case); $this->assertEquals($id, $actual_id); } /** * @param $emailName * @dataProvider shouldNotQueryProvider */ public function testShouldNotQuery($emailName) { $db = $this->getMockForAbstractClass('DBManager'); $db->expects($this->never()) ->method('query'); $ie = new InboundEmail(); $ie->db = $db; $ie->getCaseIdFromCaseNumber($emailName, $this->case); } public function shouldNotQueryProvider() { return array( array('An arbitrary subject'), array('[CASE:THE-CASE-NUMBER]'), ); } }