Update page_title_tag to match JZ's expectations

and add some tests
This commit is contained in:
Mike Dalessio
2025-11-08 10:58:07 -05:00
parent 1a6258a5d1
commit 90d475245e
2 changed files with 53 additions and 2 deletions
+4 -2
View File
@@ -1,7 +1,9 @@
module ApplicationHelper
def page_title_tag
account_name = ApplicationRecord.current_tenant && Current.user&.identity&.memberships&.many? && Account.sole&.name
tag.title [ @page_title, account_name, "Fizzy" || "Fizzy" ].compact.join(" | ")
account_name = if ApplicationRecord.current_tenant && Current.session&.identity&.memberships&.many?
Account.sole&.name
end
tag.title [ @page_title, account_name, "Fizzy" ].compact.join(" | ")
end
def icon_tag(name, **options)
+49
View File
@@ -0,0 +1,49 @@
require "test_helper"
class ApplicationHelperTest < ActionView::TestCase
def parse(html)
Nokogiri::HTML::DocumentFragment.parse(html)
end
test "page_title_tag on untenanted page" do
ApplicationRecord.without_tenant do
assert_select parse(page_title_tag), "title", text: "Fizzy"
end
end
test "page_title_tag on untenanted page with a page title" do
@page_title = "Holodeck"
ApplicationRecord.without_tenant do
assert_select parse(page_title_tag), "title", text: "Holodeck | Fizzy"
end
end
test "page_title_tag on tenanted page when user has a single membership" do
Current.session = sessions(:david)
assert_select parse(page_title_tag), "title", text: "Fizzy"
end
test "page_title_tag on tenanted page when user has multiple memberships" do
Current.session = sessions(:david)
identities(:david).memberships.create!(tenant: "dangling-tenant")
assert_select parse(page_title_tag), "title", text: "37signals | Fizzy"
end
test "page_title_tag on tenanted page with a page title when user has a single membership" do
Current.session = sessions(:david)
@page_title = "Holodeck"
assert_select parse(page_title_tag), "title", text: "Holodeck | Fizzy"
end
test "page_title_tag on tenanted page with a page title when user has multiple memberships" do
Current.session = sessions(:david)
identities(:david).memberships.create!(tenant: "dangling-tenant")
@page_title = "Holodeck"
assert_select parse(page_title_tag), "title", text: "Holodeck | 37signals | Fizzy"
end
end