61 lines
1.9 KiB
Ruby
61 lines
1.9 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'admin/assigns/show.html.haml', type: :view do
|
|
let(:admin) { create(:administrateur) }
|
|
let(:procedure) { create :procedure, administrateur: admin }
|
|
|
|
let(:assign_instructeurs) { procedure.instructeurs }
|
|
let(:not_assign_instructeurs) { admin.instructeurs.where.not(id: assign_instructeurs.ids) }
|
|
|
|
before do
|
|
assign(:procedure, procedure)
|
|
assign(:instructeur, Instructeur.new)
|
|
|
|
assign(:instructeurs_assign, (smart_listing_create :instructeurs_assign,
|
|
assign_instructeurs,
|
|
partial: "admin/assigns/list_assign",
|
|
array: true))
|
|
|
|
assign(:instructeurs_not_assign, (smart_listing_create :instructeurs_not_assign,
|
|
not_assign_instructeurs,
|
|
partial: "admin/assigns/list_not_assign",
|
|
array: true))
|
|
end
|
|
|
|
context 'when admin have none instructeur ' do
|
|
before do
|
|
render
|
|
end
|
|
|
|
it { expect(rendered).to have_content('Aucun de disponible') }
|
|
|
|
context 'when administrateur have none instructeur assign' do
|
|
it { expect(rendered).to have_content('Aucun d\'affecté') }
|
|
end
|
|
end
|
|
|
|
context 'when administrateur have two instructeur' do
|
|
let!(:instructeur_1) { create :instructeur, email: 'plop@plop.com', administrateurs: [admin] }
|
|
let!(:instructeur_2) { create :instructeur, email: 'plip@plop.com', administrateurs: [admin] }
|
|
|
|
before do
|
|
not_assign_instructeurs.reload
|
|
assign_instructeurs.reload
|
|
|
|
assign(:instructeurs_assign, (smart_listing_create :instructeurs_assign,
|
|
assign_instructeurs,
|
|
partial: "admin/assigns/list_assign",
|
|
array: true))
|
|
|
|
assign(:instructeurs_not_assign, (smart_listing_create :instructeurs_not_assign,
|
|
not_assign_instructeurs,
|
|
partial: "admin/assigns/list_not_assign",
|
|
array: true))
|
|
|
|
render
|
|
end
|
|
|
|
it { expect(rendered).to have_content(instructeur_1.email) }
|
|
it { expect(rendered).to have_content(instructeur_2.email) }
|
|
end
|
|
end
|