Files
sure/test/system/categories_test.rb
Copilot 3199c9b76d Prevent long category labels from overflowing or crowding adjacent controls (#1498)
* Initial plan

* Fix category delete dialog dropdown overflow

Agent-Logs-Url: https://github.com/we-promise/sure/sessions/200da7a4-fd59-4ae4-a709-f631ccf21e8c

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

* Tighten category deletion regression test

Agent-Logs-Url: https://github.com/we-promise/sure/sessions/200da7a4-fd59-4ae4-a709-f631ccf21e8c

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

* Fix deletion button text overflow

Agent-Logs-Url: https://github.com/we-promise/sure/sessions/e802e01f-079e-4322-ba03-b222ab5d4b84

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

* Preserve category menu spacing on mobile

Agent-Logs-Url: https://github.com/we-promise/sure/sessions/74b5dd1e-7935-4356-806a-759bff911930

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

* Prevent account activity label overlap on mobile

Agent-Logs-Url: https://github.com/we-promise/sure/sessions/e94027d6-e230-44c8-99a1-6e5645bec82b

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

* Fix wide account activity category overflow

Agent-Logs-Url: https://github.com/we-promise/sure/sessions/4ad79894-2935-47a3-8d37-037e2bd14376

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

* Linter

* Fix flaky system tests in CI

Agent-Logs-Url: https://github.com/we-promise/sure/sessions/3507447f-363f-4759-807c-c62a2858d270

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

* Reset system test viewport between tests

Agent-Logs-Url: https://github.com/we-promise/sure/sessions/357a43b1-11c5-49be-972d-0592a37d97b1

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>
Co-authored-by: Juan José Mata <juanjo.mata@gmail.com>
2026-04-19 18:40:50 +02:00

46 lines
1.4 KiB
Ruby

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
test "long category names truncate before the actions menu on mobile" do
category = categories(:food_and_drink)
category.update!(name: "Super Long Category Name That Should Stop Before The Menu Button On Mobile")
page.current_window.resize_to(315, 643)
visit categories_url
row = find("##{ActionView::RecordIdentifier.dom_id(category)}")
actions = row.find("[data-testid='category-actions'] button", visible: true)
assert actions.visible?
viewport_width = page.evaluate_script("window.innerWidth")
page_scroll_width = page.evaluate_script("document.documentElement.scrollWidth")
assert_operator page_scroll_width, :<=, viewport_width
end
end