[Fix #1120] Delete the old accompagnateur UI

This commit is contained in:
gregoirenovel 2018-01-15 10:02:10 +01:00
parent 1c295eafb6
commit 1368cd4b03
90 changed files with 19 additions and 12044 deletions

View file

@ -1,28 +0,0 @@
require 'spec_helper'
feature 'add commentaire on backoffice' do
let(:procedure) { create(:procedure, :published) }
let(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction') }
let(:dossier_id) { dossier.id }
let!(:commentaire) { create(:commentaire, dossier: dossier, email: 'toto@toto.com') }
let(:email_commentaire) { 'test@test.com' }
let(:gestionnaire) { create(:gestionnaire) }
let(:email_pre_rempli) { 'toto@sgmap.fr' }
let(:body) { 'Commentaire de test' }
before do
create :assign_to, gestionnaire: gestionnaire, procedure: procedure
login_as gestionnaire, scope: :gestionnaire
visit backoffice_dossier_path(dossier)
end
context 'Affichage du formulaire de commentaire' do
scenario 'Le formulaire envoie vers /dossiers/:dossier_id/commentaire en #POST' do
expect(page).to have_selector("form[action='/backoffice/commentaires?dossier_id=#{dossier_id}'][method=post]")
end
scenario 'Champs de texte' do
expect(page).to have_selector('textarea[id=texte_commentaire][name=texte_commentaire]')
end
end
end

View file

@ -1,36 +0,0 @@
require 'spec_helper'
feature 'when gestionnaire come to /backoffice and is not authenticated' do
let(:procedure) { create(:procedure, :published) }
let!(:dossier) { create(:dossier, procedure: procedure) }
before do
visit backoffice_path
end
scenario 'he is redirected to /gestionnaires/sign_id' do
expect(page).to have_css('#user_email')
end
context 'when user enter bad credentials' do
before do
page.find_by_id(:user_email).set 'unknown@plop.com'
page.find_by_id(:user_password).set 'password'
page.click_on 'Se connecter'
end
scenario 'he stay on the same page with an error' do
expect(page).to have_content('Mauvais couple login / mot de passe')
end
end
context 'when user enter good credentials' do
let(:administrateur) { create(:administrateur) }
let(:gestionnaire) { create(:gestionnaire, administrateurs: [administrateur]) }
before do
create :assign_to, gestionnaire: gestionnaire, procedure: procedure
page.find_by_id(:user_email).set gestionnaire.email
page.find_by_id(:user_password).set gestionnaire.password
page.click_on 'Se connecter'
end
scenario 'he is redirected to /procedures' do
expect(current_path).to eq(procedures_path)
end
end
end

View file

@ -1,27 +0,0 @@
require 'spec_helper'
feature 'backoffice: flux de commentaires' do
let(:procedure) { create(:procedure, :published) }
let(:gestionnaire) { create(:gestionnaire) }
let(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction') }
let(:dossier_id) { dossier.id }
let(:champ1) { create(:champ, dossier: dossier, type_de_champ: create(:type_de_champ_public, libelle: "subtitle1")) }
let(:champ2) { create(:champ, dossier: dossier, type_de_champ: create(:type_de_champ_public, libelle: "subtitle2")) }
let!(:commentaire1) { create(:commentaire, dossier: dossier, champ: champ1) }
let!(:commentaire2) { create(:commentaire, dossier: dossier) }
let!(:commentaire3) { create(:commentaire, dossier: dossier, champ: champ2) }
let!(:commentaire4) { create(:commentaire, dossier: dossier, champ: champ1) }
before do
create :assign_to, gestionnaire: gestionnaire, procedure: procedure
login_as gestionnaire, scope: :gestionnaire
visit backoffice_dossier_path(dossier)
end
scenario "seuls les commentaires généraux sont affichés" do
comments = find(".commentaires")
expect(comments).to have_selector(".content", count: 1)
end
end

View file

@ -1,101 +0,0 @@
require 'spec_helper'
feature 'As an Accompagnateur I can navigate and use each functionnality around procedures and their dossiers' do
let(:user) { create(:user) }
let(:gestionnaire) { create(:gestionnaire) }
let(:procedure_1) { create(:procedure, :published, :with_type_de_champ, libelle: 'procedure 1') }
let(:procedure_2) { create(:procedure, :published, :with_type_de_champ, libelle: 'procedure 2') }
before 'Assign procedures to Accompagnateur and generating dossiers for each' do
create :assign_to, gestionnaire: gestionnaire, procedure: procedure_1
create :assign_to, gestionnaire: gestionnaire, procedure: procedure_2
30.times do
Dossier.create(procedure_id: procedure_1.id.to_s, user: user, state: 'en_construction')
end
22.times do
Dossier.create(procedure_id: procedure_2.id.to_s, user: user, state: 'en_instruction')
end
login_as gestionnaire, scope: :gestionnaire
visit backoffice_path
end
context 'On index' do
scenario 'Switching between procedures' do
page.all('#procedure-list a').first.click
expect(page).to have_current_path(backoffice_dossiers_procedure_path(id: procedure_1.id.to_s), only_path: true)
expect(page.find('#all_dossiers .count').text).to eq('30 dossiers')
page.all('#procedure-list a').last.click
expect(page).to have_current_path(backoffice_dossiers_procedure_path(id: procedure_2.id.to_s), only_path: true)
expect(page.find('#all_dossiers .count').text).to eq('22 dossiers')
end
scenario 'Searching with search bar', js: true do
page.find_by_id('search-area').trigger('click')
fill_in 'q', with: (procedure_1.dossiers.first.id + 14)
page.find_by_id('search-button').click
page.find_by_id("tr_dossier_#{(procedure_1.dossiers.first.id + 14)}").click
expect(page).to have_current_path("/backoffice/dossiers/#{(procedure_1.dossiers.first.id + 14)}")
end
scenario 'Following dossier' do
page.all('#procedure-list a').first.click
expect(page.all('#follow_dossiers .smart-listing')[0]['data-item-count']).to eq ("0")
page.find_by_id('all_dossiers').click
expect(page.all('#dossiers-list a').first.text).to eq('Suivre')
page.all('#dossiers-list a').first.click
expect(page.all('#follow_dossiers .smart-listing')[0]['data-item-count']).to eq ("1")
end
scenario 'Using sort and pagination', js: true do
visit "/backoffice/dossiers/procedure/#{procedure_1.id}?all_state_dossiers_smart_listing[sort][id]=asc"
wait_for_ajax
expect(page.all("#all_state_dossiers .dossier-row")[0]['id']).to eq("tr_dossier_#{procedure_1.dossiers.first.id}")
visit "/backoffice/dossiers/procedure/#{procedure_1.id}?all_state_dossiers_smart_listing[sort][id]=desc"
wait_for_ajax
expect(page.all("#all_dossiers .dossier-row")[0]['id']).to eq("tr_dossier_#{procedure_1.dossiers.last.id}")
page.find('#all_state_dossiers .next_page a').trigger('click')
wait_for_ajax
page.find('#all_state_dossiers .next_page a').trigger('click')
wait_for_ajax
expect(page.all("#all_dossiers .dossier-row")[0]['id']).to eq("tr_dossier_#{procedure_1.dossiers.first.id + 9}")
page.find('#all_state_dossiers .prev a').trigger('click')
wait_for_ajax
expect(page.all("#all_dossiers .dossier-row")[0]['id']).to eq("tr_dossier_#{procedure_1.dossiers.first.id + 19}")
end
scenario 'Using filter' do
end
scenario 'Have an export button' do
expect(page.all('.export-link')[0].text).to eq('Au format CSV')
expect(page.all('.export-link')[1].text).to eq('Au format XLSX')
expect(page.all('.export-link')[2].text).to eq('Au format ODS')
end
end
context 'On show' do
scenario 'Following dossier' do
expect(page.all('#follow_dossiers .count').first.text).to eq('0 dossiers')
visit "/backoffice/dossiers/procedure/#{procedure_1.id}?all_state_dossiers_smart_listing[sort][id]=asc"
page.find("#all_dossiers #suivre_dossier_#{procedure_1.dossiers.first.id}").click
visit "/backoffice/dossiers/#{procedure_1.dossiers.second.id}"
page.find_by_id("suivre_dossier_#{procedure_1.dossiers.second.id}").click
visit "/backoffice/dossiers/procedure/#{procedure_1.id}"
expect(page.all('#follow_dossiers .count').first.text).to eq('2 dossiers')
end
if ENV['CIRCLECI'].nil?
scenario 'Adding message', js: true do
page.find("#all_dossiers #tr_dossier_#{procedure_1.dossiers.first.id}").trigger('click')
expect(page).to have_current_path(backoffice_dossier_path(procedure_1.dossiers.first.id), only_path: true)
page.find_by_id('open-message').click
page.execute_script("$('#texte_commentaire').data('wysihtml5').editor.setValue('Contenu du nouveau message')")
page.find_by_id('save-message').click
expect(page.find('.last-commentaire .content').text).to eq('Contenu du nouveau message')
end
end
end
end

View file

@ -1,79 +0,0 @@
require 'spec_helper'
feature 'usage of pref list dossier lateral panel', js: true do
let(:administrateur) { create(:administrateur) }
let(:gestionnaire) { create(:gestionnaire, administrateurs: [administrateur]) }
let(:procedure) { create(:procedure, :published, administrateur: administrateur) }
before do
create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction')
create :assign_to, procedure: procedure, gestionnaire: gestionnaire
login_as gestionnaire, scope: :gestionnaire
visit backoffice_path
end
context 'when user enter good credentials' do
scenario 'he is redirected to /backoffice' do
expect(page).to have_css('#backoffice-index')
end
scenario 'lateral panel is masked' do
expect(page).to have_css('#pref-list-menu', visible: false)
end
context 'when on click on pref list button' do
before do
page.click_on 'pref-list-dossier-open-action'
end
scenario 'lateral panel is appeared' do
expect(page).to have_css('#pref-list-menu')
end
context 'when on click on add attribut button' do
before do
page.click_on 'add_pref_list_entreprise_siren'
end
scenario 'preference list panel is brought up to date' do
wait_for_ajax
expect(page).to have_css('#delete_pref_list_entreprise_siren')
end
scenario 'dossier is brought up to date' do
wait_for_ajax
expect(page).to have_selector("a.sortable[data-attr='entreprise.siren']", visible: false)
end
context 'when on click on delete attribut button' do
before do
page.click_on 'delete_pref_list_entreprise_siren'
end
scenario 'preference list panel is brought up to date' do
wait_for_ajax
expect(page).not_to have_css('#delete_pref_list_entreprise_siren')
end
scenario 'dossier is brought up to date', js: true do
wait_for_ajax
expect(page).not_to have_selector("a.sortable[data-attr='entreprise.siren']", visible: true)
end
context 'when on click on close pref list button' do
before do
page.click_on 'pref-list-dossier-close-action'
end
scenario 'lateral panel is masked' do
wait_for_ajax
expect(page).to have_css('#pref-list-menu', visible: false)
end
end
end
end
end
end
end

View file

@ -1,81 +0,0 @@
require 'spec_helper'
feature 'usage of pref list dossier lateral panel by procedure', js: true do
let(:administrateur) { create(:administrateur) }
let(:gestionnaire) { create(:gestionnaire, administrateurs: [administrateur]) }
let(:procedure) { create(:procedure, :published, :with_type_de_champ, administrateur: administrateur) }
before do
create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction')
create :assign_to, procedure: procedure, gestionnaire: gestionnaire
login_as gestionnaire, scope: :gestionnaire
visit backoffice_path
end
context 'when user enter good credentials' do
scenario 'he is redirected to /backoffice/dossiers/' do
expect(page).to have_css('#backoffice-index')
end
describe 'user navigate to dossiers list by procedure' do
before do
visit backoffice_dossiers_procedure_path(procedure.id)
end
scenario 'lateral panel is masked' do
expect(page).to have_css('#pref-list-menu', visible: false)
end
context 'when on click on pref list button' do
before do
page.click_on 'pref-list-dossier-open-action'
end
scenario 'lateral panel is appeared' do
wait_for_ajax
expect(page).to have_css('#pref-list-menu')
end
context 'when on click on add attribut specific at the procedure button' do
before do
page.click_on 'add_pref_list_champs_' + procedure.types_de_champ.first.id.to_s
end
scenario 'preference list panel is brought up to date' do
wait_for_ajax
expect(page).to have_css('#delete_pref_list_champs_' + procedure.types_de_champ.first.id.to_s)
end
context 'when on click on delete attribut button' do
before do
page.click_on 'delete_pref_list_champs_' + procedure.types_de_champ.first.id.to_s
end
scenario 'preference list panel is brought up to date' do
wait_for_ajax
expect(page).not_to have_css('#delete_pref_list_champs_' + procedure.types_de_champ.first.id.to_s)
end
scenario 'dossier is brought up to date' do
wait_for_ajax
expect(page).not_to have_selector("a.sortable[data-attr='entreprise.siren']", visible: false)
end
context 'when on click on close pref list button' do
before do
page.click_on 'pref-list-dossier-close-action'
end
scenario 'lateral panel is masked' do
wait_for_ajax
expect(page).to have_css('#pref-list-menu', visible: false)
end
end
end
end
end
end
end
end

View file

@ -1,64 +0,0 @@
require 'spec_helper'
feature 'on backoffice page', js: true do
let(:administrateur) { create(:administrateur) }
let(:gestionnaire) { create(:gestionnaire, administrateurs: [administrateur]) }
let(:procedure) { create(:procedure, :published, administrateur: administrateur) }
let(:procedure_individual) { create :procedure, :published, libelle: 'procedure individual', administrateur: administrateur, for_individual: true }
let!(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction') }
let!(:dossier_individual) { create :dossier, procedure: procedure_individual, state: 'en_construction' }
before do
create :assign_to, gestionnaire: gestionnaire, procedure: procedure
create :follow, gestionnaire: gestionnaire, dossier: dossier
create :assign_to, gestionnaire: gestionnaire, procedure: procedure_individual
create :follow, gestionnaire: gestionnaire, dossier: dossier_individual
visit users_path
end
context 'when gestionnaire is logged in' do
before do
page.find_by_id(:user_email).set gestionnaire.email
page.find_by_id(:user_password).set gestionnaire.password
page.click_on 'Se connecter'
page.click_on 'Ancienne interface'
end
context 'when he click on first dossier' do
before do
page.find("#tr_dossier_#{dossier.id}", visible: true).click
end
scenario 'it redirect to dossier page' do
expect(page).to have_css('#backoffice-dossier-show')
end
end
context "and goes to the page of a dossier he hasn't access to" do
let!(:unauthorized_dossier) { create(:dossier, :with_entreprise, state: 'en_construction') }
before do
visit backoffice_dossier_path(unauthorized_dossier)
end
scenario "it shows an error message" do
expect(page).to have_content("Le dossier n'existe pas ou vous n'y avez pas accès.")
end
end
end
context 'when gestionnaire have enterprise and individual dossier in his inbox', js: true do
before do
page.find_by_id(:user_email).set gestionnaire.email
page.find_by_id(:user_password).set gestionnaire.password
page.click_on 'Se connecter'
visit backoffice_dossiers_procedure_path(id: procedure_individual.id)
page.find("#tr_dossier_#{dossier_individual.id}", visible: true).click
end
scenario 'it redirect to dossier page' do
expect(page).to have_css('#backoffice-dossier-show')
end
end
end

View file

@ -1,52 +0,0 @@
require 'spec_helper'
feature 'search file on gestionnaire backoffice' do
let(:administrateur) { create(:administrateur) }
let(:gestionnaire) { create(:gestionnaire, administrateurs: [administrateur]) }
before do
login_as gestionnaire, scope: :gestionnaire
end
context 'when gestionnaire is logged in' do
context 'when he click on search button' do
let(:terms) { '' }
let!(:procedure) { create(:procedure, :published, administrateur: administrateur) }
before do
create :assign_to, gestionnaire: gestionnaire, procedure: procedure
visit backoffice_dossiers_url
page.find_by_id(:q).set terms
page.find_by_id("search-button").click
end
it { expect(page).to have_css('#backoffice-search') }
context 'when terms input is empty' do
it { expect(page).to have_content('Aucun dossier') }
end
context 'when terms input is informed' do
let(:terms) { 'test' }
it 'terms stay in input after search' do
expect(page.find_by_id('q').value).to eq(terms)
end
context 'when terms input does not return result' do
it { expect(page).to have_content('Aucun dossier') }
end
context 'when terms input does return result' do
let!(:dossier) { create(:dossier, :with_entreprise, procedure: procedure, state: 'en_construction') }
let!(:dossier_2) { create(:dossier, procedure: procedure, state: 'en_construction') }
let(:terms) { dossier.entreprise.raison_sociale }
it { expect(page).to have_content(dossier.entreprise.raison_sociale) }
end
end
end
end
end