Added unit test when updating tags for a task

This commit is contained in:
Frederic Guillot
2016-06-24 18:35:33 -04:00
parent 16a138c86f
commit 49d312d5a4
2 changed files with 52 additions and 9 deletions

View File

@@ -25,6 +25,7 @@ class TaskModificationModel extends Base
{
$original_task = $this->taskFinderModel->getById($values['id']);
$this->updateTags($values, $original_task);
$this->prepare($values);
$result = $this->db->table(TaskModel::TABLE)->eq('id', $original_task['id'])->update($values);
@@ -80,16 +81,11 @@ class TaskModificationModel extends Base
/**
* Prepare data before task modification
*
* @access public
* @param array $values Form values
* @access protected
* @param array $values
*/
public function prepare(array &$values)
protected function prepare(array &$values)
{
if (isset($values['tags'])) {
$this->taskTagModel->save($values['project_id'], $values['id'], $values['tags']);
unset($values['tags']);
}
$values = $this->dateParser->convert($values, array('date_due'));
$values = $this->dateParser->convert($values, array('date_started'), true);
@@ -99,4 +95,21 @@ class TaskModificationModel extends Base
$values['date_modification'] = time();
}
/**
* Update tags
*
* @access protected
* @param array $values
* @param array $original_task
*/
protected function updateTags(array &$values, array $original_task)
{
if (isset($values['tags'])) {
$this->taskTagModel->save($original_task['project_id'], $values['id'], $values['tags']);
unset($values['tags']);
} else {
$this->taskTagModel->save($original_task['project_id'], $values['id'], array());
}
}
}