Retrospring/spec/requests/new_reports_spec.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

53 lines
1.2 KiB
Ruby
Raw Normal View History

2024-03-01 14:42:55 -08:00
# frozen_string_literal: true
require "rails_helper"
RSpec.describe "New reports indicator", type: :request do
let(:user) { FactoryBot.create(:user, roles: [:moderator]) }
before do
sign_in user
end
subject { get "/" }
describe "setting an assign for new reports" do
context "never visited the reports listing before" do
it "sets a assign" do
subject
expect(assigns["has_new_reports"]).to eq(true)
end
end
context "visited the reports listing, with no new reports" do
before do
user.last_reports_visit = DateTime.now
user.save
end
it "sets a assign" do
subject
expect(assigns["has_new_reports"]).to eq(false)
end
end
context "visited the reports listing, with new reports" do
let(:other_user) { FactoryBot.create :user }
before do
Report.create(user:, target_id: other_user.id, target_user_id: other_user.id, type: "Reports::User", created_at: DateTime.now)
user.last_reports_visit = DateTime.now - 1.day
user.save
end
it "sets a assign" do
subject
expect(assigns["has_new_reports"]).to eq(true)
end
end
end
end