75 lines
1.6 KiB
Ruby
75 lines
1.6 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe SupportController, type: :controller do
|
|
render_views
|
|
|
|
context 'signed in' do
|
|
before do
|
|
sign_in user
|
|
end
|
|
let(:user) { create(:user) }
|
|
|
|
it 'should not have email field' do
|
|
get :index
|
|
|
|
expect(response.status).to eq(200)
|
|
expect(response.body).not_to have_content("Email *")
|
|
end
|
|
|
|
describe "with dossier" do
|
|
let(:user) { dossier.user }
|
|
let(:dossier) { create(:dossier) }
|
|
|
|
it 'should fill dossier_id' do
|
|
get :index, params: { dossier_id: dossier.id }
|
|
|
|
expect(response.status).to eq(200)
|
|
expect(response.body).to include("#{dossier.id}")
|
|
end
|
|
end
|
|
|
|
describe "with tag" do
|
|
let(:tag) { 'yolo' }
|
|
|
|
it 'should fill tags' do
|
|
get :index, params: { tags: [tag] }
|
|
|
|
expect(response.status).to eq(200)
|
|
expect(response.body).to include(tag)
|
|
end
|
|
end
|
|
|
|
describe "with multiple tags" do
|
|
let(:tags) { ['yolo', 'toto'] }
|
|
|
|
it 'should fill tags' do
|
|
get :index, params: { tags: tags }
|
|
|
|
expect(response.status).to eq(200)
|
|
expect(response.body).to include(tags.join(','))
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'signed out' do
|
|
describe "with dossier" do
|
|
it 'should have email field' do
|
|
get :index
|
|
|
|
expect(response.status).to eq(200)
|
|
expect(response.body).to have_content("Email *")
|
|
end
|
|
end
|
|
|
|
describe "with dossier" do
|
|
let(:tag) { 'yolo' }
|
|
|
|
it 'should fill tags' do
|
|
get :index, params: { tags: [tag] }
|
|
|
|
expect(response.status).to eq(200)
|
|
expect(response.body).to include(tag)
|
|
end
|
|
end
|
|
end
|
|
end
|