Skip to content

Commit

Permalink
Add spec for badges index. Fix case when not logged in.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jake Wesorick committed Oct 4, 2019
1 parent 3de03d9 commit d902ba1
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 3 deletions.
2 changes: 1 addition & 1 deletion app/controllers/badges_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ class BadgesController < ApplicationController

def index
@badges = Badge.order(:created_at)
@earned_badge_achievements = current_user.badge_achievements.pluck(:badge_id)
@earned_badge_achievements = user_signed_in? ? current_user.badge_achievements.pluck(:badge_id) : []
end

def show
Expand Down
31 changes: 29 additions & 2 deletions spec/requests/badges_spec.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,37 @@
require "rails_helper"

RSpec.describe "Badges", type: :request do
let(:user) { create(:user) }
let(:badge) { create(:badge) }
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}"
Expand Down

0 comments on commit d902ba1

Please sign in to comment.