2023-12-12 01:04:43 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module PageObjects
|
|
|
|
module Pages
|
|
|
|
class UserNotifications < PageObjects::Pages::Base
|
|
|
|
def visit(user)
|
|
|
|
page.visit("/u/#{user.username}/notifications")
|
|
|
|
self
|
|
|
|
end
|
|
|
|
|
|
|
|
def filter_dropdown
|
|
|
|
PageObjects::Components::SelectKit.new(".notifications-filter")
|
|
|
|
end
|
|
|
|
|
|
|
|
def set_filter_value(value)
|
|
|
|
filter_dropdown.select_row_by_value(value)
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_selected_filter_value?(value)
|
|
|
|
expect(filter_dropdown).to have_selected_value(value)
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_notification?(notification)
|
|
|
|
page.has_css?(".notification a[href='#{notification.url}']")
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_no_notification?(notification)
|
|
|
|
page.has_no_css?(".notification a[href='#{notification.url}']")
|
|
|
|
end
|
2023-12-14 05:15:42 +08:00
|
|
|
|
|
|
|
def has_notification_count_of?(count)
|
|
|
|
page.has_css?(".notification", count: count)
|
|
|
|
end
|
2023-12-12 01:04:43 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|