mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-19 05:09:38 +02:00
fix: Bug creating duplicate category leads to crash screen (#1577)
Co-authored-by: Tony Vincent Yesudas <tony.yesudas@raisenow.com>
This commit is contained in:
parent
9d217afb9f
commit
b0d9891133
3 changed files with 38 additions and 0 deletions
|
@ -21,6 +21,7 @@ class CategoriesController < ApplicationController
|
|||
|
||||
redirect_back_or_to categories_path, notice: t(".success")
|
||||
else
|
||||
@categories = Current.family.categories.alphabetically.where(parent_id: nil)
|
||||
render :new, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
|
|
@ -33,6 +33,17 @@ class CategoriesControllerTest < ActionDispatch::IntegrationTest
|
|||
assert_equal color, new_category.color
|
||||
end
|
||||
|
||||
test "create fails if name is not unique" do
|
||||
assert_no_difference "Category.count" do
|
||||
post categories_url, params: {
|
||||
category: {
|
||||
name: categories(:food_and_drink).name,
|
||||
color: Category::COLORS.sample } }
|
||||
end
|
||||
|
||||
assert_response :unprocessable_entity
|
||||
end
|
||||
|
||||
test "create and assign to transaction" do
|
||||
color = Category::COLORS.sample
|
||||
|
||||
|
|
26
test/system/categories_test.rb
Normal file
26
test/system/categories_test.rb
Normal file
|
@ -0,0 +1,26 @@
|
|||
require "application_system_test_case"
|
||||
|
||||
class CategoriesTest < ApplicationSystemTestCase
|
||||
setup do
|
||||
sign_in @user = users(:family_admin)
|
||||
end
|
||||
|
||||
test "can create category" do
|
||||
visit categories_url
|
||||
click_link I18n.t("categories.new.new_category")
|
||||
fill_in "Name", with: "My Shiny New Category"
|
||||
click_button "Create Category"
|
||||
|
||||
visit categories_url
|
||||
assert_text "My Shiny New Category"
|
||||
end
|
||||
|
||||
test "trying to create a duplicate category fails" do
|
||||
visit categories_url
|
||||
click_link I18n.t("categories.new.new_category")
|
||||
fill_in "Name", with: categories(:food_and_drink).name
|
||||
click_button "Create Category"
|
||||
|
||||
assert_text "Name has already been taken"
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue