Files
sure/test/system/categories_test.rb

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