Sha256: a4e7da6649895dc19d6782f16973e1735563d163f0dd316f02bcfc6ca65e9261
Contents?: true
Size: 1.22 KB
Versions: 7
Compression:
Stored size: 1.22 KB
Contents
RSpec.describe Sufia::TrophiesController do describe "#toggle_trophy" do let(:user) { create(:user) } let(:work) { create(:work, user: user) } context "for a work we have edit access on" do before do sign_in user end it "creates a trophy for a work" do post :toggle_trophy, params: { id: work.id } expect(response).to be_success json = JSON.parse(response.body) expect(json['user_id']).to eq user.id expect(json['work_id']).to eq work.id end context 'where the trophy already exists' do before do user.trophies.create(work_id: work.id) end it 'destroys the trophy' do expect { post :toggle_trophy, params: { id: work.id } } .to change { Trophy.count }.by(-1) expect(response).to be_success json = JSON.parse(response.body) expect(json['user_id']).to eq user.id expect(json['work_id']).to eq work.id end end end context "for a work that we don't have edit access on" do it "does not create a trophy" do post :toggle_trophy, params: { id: work.id } expect(response).not_to be_success end end end end
Version data entries
7 entries across 7 versions & 1 rubygems