public function testNewsAdminCreateEditAndDeleteCategory() { /* Assertions: * Create category * Edit category * Delete category */ $this->get(TYPEF_WEB_DIR . '/admin/news/categories'); $this->get(TYPEF_WEB_DIR . '/admin/news/categories/add'); $form = $this->first('form[action="' . TYPEF_WEB_DIR . '/admin/news/categories/add"]'); $categoryname = 'Integration Test ' . time(); $categorydescr = "{$categoryname} description"; $form->first('input[name="categoryname"]')->setValue($categoryname); $form->first('input[name="categorydescr"]')->setValue($categorydescr); $form->first('input[name="categorydescr"]')->setValue(TYPEF_DIR . '/tests/images/placeholders/generic/1024x768.jpg'); $form->submit(); $catmod = new Model_News_Category(); $catmod->where('categoryname = ?', $categoryname); $category = $catmod->getFirst(); $this->assertTrue($category->exists(), 'Failed to create news category'); if ($category->exists()) { $id = $category['id']; $categoryname .= ' updated'; $this->get(TYPEF_WEB_DIR . '/admin/news/categories/edit?categoryid=' . $id); $form = $this->first('form[action="' . TYPEF_WEB_DIR . '/admin/news/categories/edit"]'); $form->first('input[name="categoryname"]')->setValue($categoryname); $form->submit(); $catmod = new Model_News_Category(); $catmod->where('categoryname = ?', $categoryname); $category = $catmod->getFirst(); $this->assertTrue($category->exists(), 'Failed to edit news category'); $this->post(TYPEF_WEB_DIR . '/admin/news/categories/delete', array('categoryid' => $id)); $category = Model_News_Category::Get($id); $this->assertFalse($category->exists(), 'Failed to delete news category'); } }
<?php $category->setArray($_POST, false); $image = FileManager::GetPostedOrUploadedFile('categoryimage', TYPEF_DIR . '/files/public/news'); $category['categoryimage'] = basename($image); if (!$category->exists()) { $ordered = new Model_News_Category(); $ordered->where('parentid = 0'); $ordered->order('sortnum DESC'); $last = $ordered->getFirst(); $category['sortnum'] = $last['sortnum'] + 1; } $category->save();