docbrown/spec/requests/badges_spec.rb
Rajat Talesra d7f70eb85b
Revert "Entire profile badge redesign" & "Badges page redesign" (#18446)
Co-authored-by: Mac Siri <krairit.siri@gmail.com>
2022-09-13 11:39:46 -04:00

48 lines
1.2 KiB
Ruby

require "rails_helper"
RSpec.describe "Badges", type: :request do
let(:user) { create(:user) }
describe "GET /badges" do
let!(:badges) { create_list(:badge, 3) }
context "when logged in" do
before { sign_in user }
it "shows all the badges" do
get "/badges"
expect(response.body).to include "Badges"
badges.each do |badge|
expect(response.body).to include CGI.escapeHTML(badge.badge_image_url)
end
end
end
context "when logged out" do
it "shows all the badges" do
get "/badges"
expect(response.body).to include "Badges"
badges.each do |badge|
expect(response.body).to include CGI.escapeHTML(badge.badge_image_url)
end
end
end
end
describe "GET /badge/:slug" do
let(:badge) { create(:badge) }
context "when badge exists" do
it "shows the badge" do
get "/badge/#{badge.slug}"
expect(response.body).to include CGI.escapeHTML(badge.title)
end
end
context "when badge does not exist" do
it "renders 404" do
expect { get "/badge/that-does-not-exists" }.to raise_error(ActiveRecord::RecordNotFound)
end
end
end
end