Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rails_helper'
- RSpec.describe Admin::IndividualsController, :type => :controller do
- let(:employer){ create(:employer) }
- let(:cohort){ create(:cohort, employer: employer) }
- let(:individual1){ create(:individual) }
- let(:individual2){ create(:individual) }
- let(:coach){ create(:user) }
- let(:coach2){ create(:user) }
- before :each do
- sign_in create(:user, roles: [:wellness_coach_admin])
- end
- describe '#assign_cohort' do
- it 'should assign' do
- expect{
- post :assign_cohort, cohort_id: cohort.id, assign: [individual1.id, individual2.id]
- }.to change(cohort.individuals, :count).to(2)
- end
- it 'should skip already assigned' do
- cohort.individuals << individual1
- cohort.save!
- post :assign_cohort, cohort_id: cohort.id, assign: [individual1.id, individual2.id]
- cohort.reload
- expect(cohort.individuals).to eq [individual1, individual2]
- end
- end
- describe '#assign_coach' do
- it 'should assign one' do
- expect{
- post :assign_coach, coach_ids: [coach.id], assign: [individual1.id, individual2.id]
- }.to change(coach.patients, :count).to(2)
- end
- it 'should assign multiple coaches to multiple individuals' do
- post :assign_coach, coach_ids: [coach.id, coach2.id], assign: [individual1.id, individual2.id]
- expect(coach.patients).to eq [individual1, individual2]
- expect(coach2.patients).to eq [individual1, individual2]
- end
- it 'should skip already assigned' do
- coach.patients << individual1
- coach.save!
- post :assign_coach, coach_ids: [coach.id], assign: [individual1.id, individual2.id]
- coach.reload
- expect(coach.patients).to eq [individual1, individual2]
- end
- end
- describe '#unassign_coach' do
- it 'should unassign' do
- coach.patients << individual1
- coach.save!
- expect(coach.patients).to eq [individual1]
- expect{
- post :unassign_coach, coach_id: coach.id, individual_id: individual1.id
- }.to change(coach.patients, :count).to(0)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement