Gestionnaire: add unfollow method

This commit is contained in:
Simon Lehericey 2017-10-05 14:10:49 +02:00
parent 01da457ad0
commit 19b3416361
3 changed files with 19 additions and 1 deletions

View file

@ -32,7 +32,7 @@ module NewGestionnaire
end end
def unfollow def unfollow
current_gestionnaire.followed_dossiers.delete(dossier) current_gestionnaire.unfollow(dossier)
flash.notice = "Vous ne suivez plus le dossier nº #{dossier.id}" flash.notice = "Vous ne suivez plus le dossier nº #{dossier.id}"
redirect_back(fallback_location: procedures_url) redirect_back(fallback_location: procedures_url)

View file

@ -40,6 +40,10 @@ class Gestionnaire < ActiveRecord::Base
followed_dossiers << dossier followed_dossiers << dossier
end end
def unfollow(dossier)
followed_dossiers.delete(dossier)
end
def follow?(dossier) def follow?(dossier)
followed_dossiers.include?(dossier) followed_dossiers.include?(dossier)
end end

View file

@ -32,6 +32,20 @@ describe Gestionnaire, type: :model do
end end
end end
describe '#unfollow' do
let(:already_followed_dossier) { create(:dossier) }
before { gestionnaire.followed_dossiers << already_followed_dossier }
context 'when a gestionnaire unfollow a dossier already followed' do
before do
gestionnaire.unfollow(already_followed_dossier)
already_followed_dossier.reload
end
it { expect(gestionnaire.follow?(already_followed_dossier)).to be false }
end
end
describe '#follow?' do describe '#follow?' do
let!(:dossier) { create :dossier, procedure: procedure } let!(:dossier) { create :dossier, procedure: procedure }