/** * test for getting the select input for all the images that are used from all products * NOTE: By adding a product in the database, this test will no longer work * unless $expectedResult is changed based on * ChangeCategory::getCategoriesForSelection's new output */ public function testGetCategoriesForSelection() { // Arrange $changeCategory = new ChangeCategory(); $connection = open_database_connection(); $expectedResult = '<select name="categoryImageURL1" form="editCategory"><option value="0">Select an existing image</option><option value="backyard_burger.png">backyard_burger.png</option><option value="red_robin_burger.png">red_robin_burger.png</option><option value="jimmy_john_sandwich.png">jimmy_john_sandwich.png</option><option value="vegetarian_burger.png">vegetarian_burger.png</option><option value="garden_salad.png">garden_salad.png</option><option value="queen_salad.png">queen_salad.png</option><option value="salad.png">salad.png</option><option value="veggie_delight_salad.png">veggie_delight_salad.png</option><option value="orange_juice.png">orange_juice.png</option><option value="lemon_tea.png">lemon_tea.png</option><option value="black_tea.png">black_tea.png</option><option value="tomato_juice.png">tomato_juice.png</option><option value="cappuccino.png">cappuccino.png</option><option value="mineral_water.png">mineral_water.png</option><option value="chocolate_cheesecake.png">chocolate_cheesecake.png</option><option value="donuts.png">donuts.png</option><option value="dessert.png">dessert.png</option><option value="strawberry_cheesecake.png">strawberry_cheesecake.png</option><option value="tzatziki.png">tzatziki.png</option><option value="alfalfa_sprouts.png">alfalfa_sprouts.png</option><option value="chips.png">chips.png</option><option value="cranberry_sauce.png">cranberry_sauce.png</option><option value="fried_green_tomatoes.png">fried_green_tomatoes.png</option><option value="kbk_house_burger.png">kbk_house_burger.png</option><option value="goat_cheese_salad.png">goat_cheese_salad.png</option><option value="chocolate_pudding.png">chocolate_pudding.png</option></select>'; // Act $result = $changeCategory->getCategoriesForSelection($connection, "editCategory"); // Assert $this->assertEquals($result, $expectedResult); }
/** * Action for editing a category's properties * * Action for route: /adminEditCategory * * @param Request $request * @param Application $app * @return \Symfony\Component\HttpFoundation\RedirectResponse */ public function editCategoryAction(Request $request, Application $app) { // test if 'username' stored in session ... $username = getAuthenticatedUserName($app); // check we are authenticated -------- $isAuthenticated = null != $username; if (!$isAuthenticated) { // not authenticated, so redirect to LOGIN page return $app->redirect('/login'); } $categoryID = $_GET['categoryID']; $categoryName = $_GET['categoryName']; $categoryImageURL = $_GET['categoryImageURL']; $categoryImageURL1 = $_GET['categoryImageURL1']; $categoryImageURL2 = $_GET['categoryImageURL2']; $categorySummary = $_GET['categorySummary']; $connection = open_database_connection(); $changeCategoryObject = new ChangeCategory(); $resultMessage = $changeCategoryObject->editCategory($connection, $categoryID, $categoryName, $categoryImageURL1, $categoryImageURL2, $categorySummary); $categoriesForSelection = $changeCategoryObject->getCategoriesForSelection($connection, "editCategory"); close_database_connection($connection); if ($resultMessage == "Success!") { return $app->redirect("/adminChangeCategory"); } $changeItemURL = $_SERVER['REQUEST_URI'] . $_SERVER['QUERY_STRING']; // store username into args array $argsArray = array('title' => "Edit category" . $categoryName, 'username' => $username, 'categoryID' => $categoryID, 'categoryName' => $categoryName, 'categoryImageURL' => $categoryImageURL, 'categorySummary' => $categorySummary, 'categoryImageSelection' => $categoriesForSelection, 'resultMessage' => $resultMessage, 'changeItemURL' => $changeItemURL); // render (draw) template // ------------ $templateName = 'admin/editCategory'; return $app['twig']->render($templateName . '.html.twig', $argsArray); }