[Fix #1120] Delete the old accompagnateur UI
This commit is contained in:
parent
1c295eafb6
commit
1368cd4b03
90 changed files with 19 additions and 12044 deletions
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
Loading…
Add table
Add a link
Reference in a new issue