public function testSaveAndRetrieveAndRemoveDefaultGroups() { //unset and reconnect Db to resolve mysqli fetch exeception global $db; unset($db->database); $db->checkConnection(); $securityGroup = new SecurityGroup(); //create a security group first $securityGroup->name = 'test'; $securityGroup->save(); //execute saveDefaultGroup method $securityGroup->saveDefaultGroup($securityGroup->id, 'test_module'); //execute retrieveDefaultGroups method $result = $securityGroup->retrieveDefaultGroups(); //verify that default group is created $this->assertTrue(is_array($result)); $this->assertGreaterThan(0, count($result)); //execute removeDefaultGroup method for each default group foreach ($result as $key => $value) { $securityGroup->removeDefaultGroup($key); } //retrieve back and verify that default securith groups are deleted $result = $securityGroup->retrieveDefaultGroups(); $this->assertEquals(0, count($result)); //delete the security group as well for cleanup $securityGroup->mark_deleted($securityGroup->id); }