Add SerializerService
This commit is contained in:
parent
bb072ba9e9
commit
96a832bc19
11 changed files with 283 additions and 49 deletions
|
@ -80,7 +80,25 @@ class DossierOperationLog < ApplicationRecord
|
||||||
if author.nil?
|
if author.nil?
|
||||||
nil
|
nil
|
||||||
else
|
else
|
||||||
OperationAuthorSerializer.new(author).as_json
|
{
|
||||||
|
id: serialize_author_id(author),
|
||||||
|
email: author.email
|
||||||
|
}.as_json
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.serialize_author_id(object)
|
||||||
|
case object
|
||||||
|
when User
|
||||||
|
"Usager##{object.id}"
|
||||||
|
when Instructeur
|
||||||
|
"Instructeur##{object.id}"
|
||||||
|
when Administrateur
|
||||||
|
"Administrateur##{object.id}"
|
||||||
|
when SuperAdmin
|
||||||
|
"Manager##{object.id}"
|
||||||
|
else
|
||||||
|
nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -96,11 +114,11 @@ class DossierOperationLog < ApplicationRecord
|
||||||
else
|
else
|
||||||
case subject
|
case subject
|
||||||
when Dossier
|
when Dossier
|
||||||
DossierSerializer.new(subject).as_json
|
SerializerService.dossier(subject)
|
||||||
when Champ
|
when Champ
|
||||||
ChampSerializer.new(subject).as_json
|
SerializerService.champ(subject)
|
||||||
when Avis
|
when Avis
|
||||||
AvisSerializer.new(subject).as_json
|
SerializerService.avis(subject)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
class OperationAuthorSerializer < ActiveModel::Serializer
|
|
||||||
attributes :id, :email
|
|
||||||
|
|
||||||
def id
|
|
||||||
case object
|
|
||||||
when User
|
|
||||||
"Usager##{object.id}"
|
|
||||||
when Instructeur
|
|
||||||
"Instructeur##{object.id}"
|
|
||||||
when Administrateur
|
|
||||||
"Administrateur##{object.id}"
|
|
||||||
when SuperAdmin
|
|
||||||
"Manager##{object.id}"
|
|
||||||
else
|
|
||||||
nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
233
app/services/serializer_service.rb
Normal file
233
app/services/serializer_service.rb
Normal file
|
@ -0,0 +1,233 @@
|
||||||
|
class SerializerService
|
||||||
|
def self.dossier(dossier)
|
||||||
|
data = execute_query('serializeDossier', { number: dossier.id })
|
||||||
|
data && data['dossier']
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.avis(avis)
|
||||||
|
data = execute_query('serializeAvis', { number: avis.dossier_id, id: avis.to_typed_id })
|
||||||
|
data && data['dossier']['avis'].first
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.champ(champ)
|
||||||
|
if champ.private?
|
||||||
|
data = execute_query('serializeAnnotation', { number: champ.dossier_id, id: champ.to_typed_id })
|
||||||
|
data && data['dossier']['annotations'].first
|
||||||
|
else
|
||||||
|
data = execute_query('serializeChamp', { number: champ.dossier_id, id: champ.to_typed_id })
|
||||||
|
data && data['dossier']['champs'].first
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.execute_query(operation_name, variables)
|
||||||
|
result = API::V2::Schema.execute(QUERY,
|
||||||
|
variables: variables,
|
||||||
|
context: { internal_use: true },
|
||||||
|
operation_name: operation_name)
|
||||||
|
if result['errors'].present?
|
||||||
|
raise result['errors'].first['message']
|
||||||
|
end
|
||||||
|
result['data']
|
||||||
|
end
|
||||||
|
|
||||||
|
QUERY = <<-'GRAPHQL'
|
||||||
|
query serializeDossier($number: Int!) {
|
||||||
|
dossier(number: $number) {
|
||||||
|
...DossierFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query serializeAvis($number: Int!, $id: ID!) {
|
||||||
|
dossier(number: $number) {
|
||||||
|
avis(id: $id) {
|
||||||
|
...AvisFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query serializeChamp($number: Int!, $id: ID!) {
|
||||||
|
dossier(number: $number) {
|
||||||
|
champs(id: $id) {
|
||||||
|
...RootChampFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query serializeAnnotation($number: Int!, $id: ID!) {
|
||||||
|
dossier(number: $number) {
|
||||||
|
annotations(id: $id) {
|
||||||
|
...RootChampFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment DossierFragment on Dossier {
|
||||||
|
id
|
||||||
|
number
|
||||||
|
archived
|
||||||
|
state
|
||||||
|
dateDerniereModification
|
||||||
|
datePassageEnConstruction
|
||||||
|
datePassageEnInstruction
|
||||||
|
dateTraitement
|
||||||
|
instructeurs {
|
||||||
|
email
|
||||||
|
}
|
||||||
|
groupeInstructeur {
|
||||||
|
label
|
||||||
|
}
|
||||||
|
champs {
|
||||||
|
...RootChampFragment
|
||||||
|
}
|
||||||
|
annotations {
|
||||||
|
...RootChampFragment
|
||||||
|
}
|
||||||
|
avis {
|
||||||
|
...AvisFragment
|
||||||
|
}
|
||||||
|
demandeur {
|
||||||
|
... on PersonnePhysique {
|
||||||
|
civilite
|
||||||
|
nom
|
||||||
|
prenom
|
||||||
|
dateDeNaissance
|
||||||
|
}
|
||||||
|
...PersonneMoraleFragment
|
||||||
|
}
|
||||||
|
motivation
|
||||||
|
motivationAttachment {
|
||||||
|
byteSize
|
||||||
|
checksum
|
||||||
|
filename
|
||||||
|
contentType
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment AvisFragment on Avis {
|
||||||
|
id
|
||||||
|
question
|
||||||
|
reponse
|
||||||
|
dateQuestion
|
||||||
|
dateReponse
|
||||||
|
instructeur {
|
||||||
|
email
|
||||||
|
}
|
||||||
|
expert {
|
||||||
|
email
|
||||||
|
}
|
||||||
|
attachment {
|
||||||
|
byteSize
|
||||||
|
checksum
|
||||||
|
filename
|
||||||
|
contentType
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment ChampFragment on Champ {
|
||||||
|
id
|
||||||
|
label
|
||||||
|
stringValue
|
||||||
|
... on SiretChamp {
|
||||||
|
etablissement {
|
||||||
|
...PersonneMoraleFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
... on LinkedDropDownListChamp {
|
||||||
|
primaryValue
|
||||||
|
secondaryValue
|
||||||
|
}
|
||||||
|
... on MultipleDropDownListChamp {
|
||||||
|
values
|
||||||
|
}
|
||||||
|
... on PieceJustificativeChamp {
|
||||||
|
file {
|
||||||
|
byteSize
|
||||||
|
checksum
|
||||||
|
filename
|
||||||
|
contentType
|
||||||
|
}
|
||||||
|
}
|
||||||
|
... on AddressChamp {
|
||||||
|
address {
|
||||||
|
...AddressFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment RootChampFragment on Champ {
|
||||||
|
...ChampFragment
|
||||||
|
... on RepetitionChamp {
|
||||||
|
champs {
|
||||||
|
...ChampFragment
|
||||||
|
}
|
||||||
|
}
|
||||||
|
... on CarteChamp {
|
||||||
|
geoAreas {
|
||||||
|
source
|
||||||
|
geometry {
|
||||||
|
type
|
||||||
|
coordinates
|
||||||
|
}
|
||||||
|
... on ParcelleCadastrale {
|
||||||
|
codeArr
|
||||||
|
codeCom
|
||||||
|
codeDep
|
||||||
|
feuille
|
||||||
|
nomCom
|
||||||
|
numero
|
||||||
|
section
|
||||||
|
surfaceParcelle
|
||||||
|
surfaceIntersection
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment PersonneMoraleFragment on PersonneMorale {
|
||||||
|
siret
|
||||||
|
siegeSocial
|
||||||
|
naf
|
||||||
|
libelleNaf
|
||||||
|
address {
|
||||||
|
...AddressFragment
|
||||||
|
}
|
||||||
|
entreprise {
|
||||||
|
siren
|
||||||
|
capitalSocial
|
||||||
|
numeroTvaIntracommunautaire
|
||||||
|
formeJuridique
|
||||||
|
formeJuridiqueCode
|
||||||
|
nomCommercial
|
||||||
|
raisonSociale
|
||||||
|
siretSiegeSocial
|
||||||
|
codeEffectifEntreprise
|
||||||
|
dateCreation
|
||||||
|
nom
|
||||||
|
prenom
|
||||||
|
}
|
||||||
|
association {
|
||||||
|
rna
|
||||||
|
titre
|
||||||
|
objet
|
||||||
|
dateCreation
|
||||||
|
dateDeclaration
|
||||||
|
datePublication
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment AddressFragment on Address {
|
||||||
|
label
|
||||||
|
type
|
||||||
|
streetAddress
|
||||||
|
streetNumber
|
||||||
|
streetName
|
||||||
|
postalCode
|
||||||
|
cityName
|
||||||
|
cityCode
|
||||||
|
departmentName
|
||||||
|
departmentCode
|
||||||
|
regionName
|
||||||
|
regionCode
|
||||||
|
}
|
||||||
|
GRAPHQL
|
||||||
|
end
|
|
@ -5,8 +5,8 @@ describe Instructeurs::DossiersController, type: :controller do
|
||||||
let(:administrateur) { create(:administrateur) }
|
let(:administrateur) { create(:administrateur) }
|
||||||
let(:administration) { create(:administration) }
|
let(:administration) { create(:administration) }
|
||||||
let(:instructeurs) { [instructeur] }
|
let(:instructeurs) { [instructeur] }
|
||||||
let(:procedure) { create(:procedure, :published, instructeurs: instructeurs) }
|
let(:procedure) { create(:procedure, :published, :for_individual, instructeurs: instructeurs) }
|
||||||
let(:dossier) { create(:dossier, :en_construction, procedure: procedure) }
|
let(:dossier) { create(:dossier, :en_construction, :with_individual, procedure: procedure) }
|
||||||
let(:fake_justificatif) { fixture_file_upload('spec/fixtures/files/piece_justificative_0.pdf', 'application/pdf') }
|
let(:fake_justificatif) { fixture_file_upload('spec/fixtures/files/piece_justificative_0.pdf', 'application/pdf') }
|
||||||
|
|
||||||
before { sign_in(instructeur.user) }
|
before { sign_in(instructeur.user) }
|
||||||
|
@ -328,7 +328,7 @@ describe Instructeurs::DossiersController, type: :controller do
|
||||||
context 'when the attestation template uses the motivation field' do
|
context 'when the attestation template uses the motivation field' do
|
||||||
let(:emailable) { false }
|
let(:emailable) { false }
|
||||||
let(:template) { create(:attestation_template) }
|
let(:template) { create(:attestation_template) }
|
||||||
let(:procedure) { create(:procedure, :published, attestation_template: template, instructeurs: [instructeur]) }
|
let(:procedure) { create(:procedure, :published, :for_individual, attestation_template: template, instructeurs: [instructeur]) }
|
||||||
|
|
||||||
subject do
|
subject do
|
||||||
post :terminer, params: {
|
post :terminer, params: {
|
||||||
|
@ -552,6 +552,7 @@ describe Instructeurs::DossiersController, type: :controller do
|
||||||
describe "#show" do
|
describe "#show" do
|
||||||
context "when the dossier is exported as PDF" do
|
context "when the dossier is exported as PDF" do
|
||||||
let(:instructeur) { create(:instructeur) }
|
let(:instructeur) { create(:instructeur) }
|
||||||
|
let(:procedure) { create(:procedure, :published, instructeurs: instructeurs) }
|
||||||
let(:dossier) do
|
let(:dossier) do
|
||||||
create(:dossier,
|
create(:dossier,
|
||||||
:accepte,
|
:accepte,
|
||||||
|
|
|
@ -20,7 +20,7 @@ describe Manager::DossiersController, type: :controller do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#restore' do
|
describe '#restore' do
|
||||||
let(:dossier) { create(:dossier, :en_construction) }
|
let(:dossier) { create(:dossier, :en_construction, :with_individual) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
dossier.discard_and_keep_track!(super_admin, :manager_request)
|
dossier.discard_and_keep_track!(super_admin, :manager_request)
|
||||||
|
|
|
@ -46,7 +46,7 @@ describe Manager::ProceduresController, type: :controller do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#restore' do
|
describe '#restore' do
|
||||||
let(:dossier) { create(:dossier, :en_construction) }
|
let(:dossier) { create(:dossier, :en_construction, :with_individual) }
|
||||||
let(:procedure) { dossier.procedure }
|
let(:procedure) { dossier.procedure }
|
||||||
let(:deleted_dossier) { DeletedDossier.find_by(dossier_id: dossier.id) }
|
let(:deleted_dossier) { DeletedDossier.find_by(dossier_id: dossier.id) }
|
||||||
let(:operations) { dossier.dossier_operation_logs.map(&:operation).map(&:to_sym) }
|
let(:operations) { dossier.dossier_operation_logs.map(&:operation).map(&:to_sym) }
|
||||||
|
|
|
@ -2,7 +2,7 @@ describe NewAdministrateur::GroupeInstructeursController, type: :controller do
|
||||||
render_views
|
render_views
|
||||||
|
|
||||||
let(:admin) { create(:administrateur) }
|
let(:admin) { create(:administrateur) }
|
||||||
let(:procedure) { create(:procedure, :published, administrateurs: [admin]) }
|
let(:procedure) { create(:procedure, :published, :for_individual, administrateurs: [admin]) }
|
||||||
let!(:gi_1_1) { procedure.defaut_groupe_instructeur }
|
let!(:gi_1_1) { procedure.defaut_groupe_instructeur }
|
||||||
|
|
||||||
let(:procedure2) { create(:procedure, :published) }
|
let(:procedure2) { create(:procedure, :published) }
|
||||||
|
@ -137,9 +137,9 @@ describe NewAdministrateur::GroupeInstructeursController, type: :controller do
|
||||||
|
|
||||||
describe '#reaffecter' do
|
describe '#reaffecter' do
|
||||||
let!(:gi_1_2) { procedure.groupe_instructeurs.create(label: 'groupe instructeur 2') }
|
let!(:gi_1_2) { procedure.groupe_instructeurs.create(label: 'groupe instructeur 2') }
|
||||||
let!(:dossier12) { create(:dossier, :en_construction, procedure: procedure, groupe_instructeur: gi_1_1) }
|
let!(:dossier12) { create(:dossier, :en_construction, :with_individual, procedure: procedure, groupe_instructeur: gi_1_1) }
|
||||||
let!(:dossier_discarded) do
|
let!(:dossier_discarded) do
|
||||||
dossier = create(:dossier, :en_construction, procedure: procedure, groupe_instructeur: gi_1_1)
|
dossier = create(:dossier, :en_construction, :with_individual, procedure: procedure, groupe_instructeur: gi_1_1)
|
||||||
dossier.discard!
|
dossier.discard!
|
||||||
dossier
|
dossier
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,7 +5,7 @@ feature 'Instructing a dossier:' do
|
||||||
let!(:instructeur) { create(:instructeur, password: password) }
|
let!(:instructeur) { create(:instructeur, password: password) }
|
||||||
|
|
||||||
let!(:procedure) { create(:procedure, :published, instructeurs: [instructeur]) }
|
let!(:procedure) { create(:procedure, :published, instructeurs: [instructeur]) }
|
||||||
let!(:dossier) { create(:dossier, :en_construction, procedure: procedure) }
|
let!(:dossier) { create(:dossier, :en_construction, :with_entreprise, procedure: procedure) }
|
||||||
context 'the instructeur is also a user' do
|
context 'the instructeur is also a user' do
|
||||||
scenario 'a instructeur can fill a dossier' do
|
scenario 'a instructeur can fill a dossier' do
|
||||||
visit commencer_path(path: procedure.path)
|
visit commencer_path(path: procedure.path)
|
||||||
|
|
|
@ -4,10 +4,10 @@ RSpec.describe Cron::DeclarativeProceduresJob, type: :job do
|
||||||
let(:instruction_date) { date + 120 }
|
let(:instruction_date) { date + 120 }
|
||||||
|
|
||||||
let(:state) { nil }
|
let(:state) { nil }
|
||||||
let(:procedure) { create(:procedure, :published, :with_instructeur, declarative_with_state: state) }
|
let(:procedure) { create(:procedure, :published, :for_individual, :with_instructeur, declarative_with_state: state) }
|
||||||
let(:nouveau_dossier1) { create(:dossier, :en_construction, procedure: procedure) }
|
let(:nouveau_dossier1) { create(:dossier, :en_construction, :with_individual, procedure: procedure) }
|
||||||
let(:nouveau_dossier2) { create(:dossier, :en_construction, procedure: procedure) }
|
let(:nouveau_dossier2) { create(:dossier, :en_construction, :with_individual, procedure: procedure) }
|
||||||
let(:dossier_recu) { create(:dossier, :en_instruction, procedure: procedure) }
|
let(:dossier_recu) { create(:dossier, :en_instruction, :with_individual, procedure: procedure) }
|
||||||
let(:dossier_brouillon) { create(:dossier, procedure: procedure) }
|
let(:dossier_brouillon) { create(:dossier, procedure: procedure) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
RSpec.describe Cron::DiscardedDossiersDeletionJob, type: :job do
|
RSpec.describe Cron::DiscardedDossiersDeletionJob, type: :job do
|
||||||
describe '#perform' do
|
describe '#perform' do
|
||||||
let(:instructeur) { create(:instructeur) }
|
let(:instructeur) { create(:instructeur) }
|
||||||
let(:dossier) { create(:dossier, state, hidden_at: hidden_at) }
|
let(:dossier) { create(:dossier, :with_individual, state) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
# hack to add passer_en_instruction and supprimer to dossier.dossier_operation_logs
|
# hack to add passer_en_instruction and supprimer to dossier.dossier_operation_logs
|
||||||
dossier.send(:log_dossier_operation, instructeur, :passer_en_instruction, dossier)
|
dossier.send(:log_dossier_operation, instructeur, :passer_en_instruction, dossier)
|
||||||
dossier.send(:log_dossier_operation, instructeur, :supprimer, dossier)
|
dossier.send(:log_dossier_operation, instructeur, :supprimer, dossier)
|
||||||
|
dossier.update_column(:hidden_at, hidden_at)
|
||||||
|
|
||||||
Cron::DiscardedDossiersDeletionJob.perform_now
|
Cron::DiscardedDossiersDeletionJob.perform_now
|
||||||
end
|
end
|
||||||
|
@ -35,7 +36,7 @@ RSpec.describe Cron::DiscardedDossiersDeletionJob, type: :job do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
[:brouillon, :en_construction, :en_instruction, :accepte, :refuse, :sans_suite].each do |state|
|
[:en_construction, :en_instruction, :accepte, :refuse, :sans_suite].each do |state|
|
||||||
context "with a dossier #{state}" do
|
context "with a dossier #{state}" do
|
||||||
let(:state) { state }
|
let(:state) { state }
|
||||||
|
|
||||||
|
|
|
@ -354,8 +354,7 @@ describe Dossier do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#update_state_dates' do
|
describe '#update_state_dates' do
|
||||||
let(:state) { Dossier.states.fetch(:brouillon) }
|
let(:dossier) { create(:dossier, :brouillon, :with_individual) }
|
||||||
let(:dossier) { create(:dossier, state: state) }
|
|
||||||
let(:beginning_of_day) { Time.zone.now.beginning_of_day }
|
let(:beginning_of_day) { Time.zone.now.beginning_of_day }
|
||||||
let(:instructeur) { create(:instructeur) }
|
let(:instructeur) { create(:instructeur) }
|
||||||
|
|
||||||
|
@ -381,7 +380,7 @@ describe Dossier do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when dossier is en_instruction' do
|
context 'when dossier is en_instruction' do
|
||||||
let(:state) { Dossier.states.fetch(:en_construction) }
|
let(:dossier) { create(:dossier, :en_construction, :with_individual) }
|
||||||
let(:instructeur) { create(:instructeur) }
|
let(:instructeur) { create(:instructeur) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
|
@ -402,7 +401,7 @@ describe Dossier do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when dossier is accepte' do
|
context 'when dossier is accepte' do
|
||||||
let(:state) { Dossier.states.fetch(:en_instruction) }
|
let(:dossier) { create(:dossier, :en_instruction, :with_individual) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
dossier.accepter!(instructeur, nil, nil)
|
dossier.accepter!(instructeur, nil, nil)
|
||||||
|
@ -415,7 +414,7 @@ describe Dossier do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when dossier is refuse' do
|
context 'when dossier is refuse' do
|
||||||
let(:state) { Dossier.states.fetch(:en_instruction) }
|
let(:dossier) { create(:dossier, :en_instruction, :with_individual) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
dossier.refuser!(instructeur, nil, nil)
|
dossier.refuser!(instructeur, nil, nil)
|
||||||
|
@ -427,7 +426,7 @@ describe Dossier do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when dossier is sans_suite' do
|
context 'when dossier is sans_suite' do
|
||||||
let(:state) { Dossier.states.fetch(:en_instruction) }
|
let(:dossier) { create(:dossier, :en_instruction, :with_individual) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
dossier.classer_sans_suite!(instructeur, nil, nil)
|
dossier.classer_sans_suite!(instructeur, nil, nil)
|
||||||
|
@ -469,11 +468,11 @@ describe Dossier do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "#unfollow_stale_instructeurs" do
|
describe "#unfollow_stale_instructeurs" do
|
||||||
let(:procedure) { create(:procedure, :published) }
|
let(:procedure) { create(:procedure, :published, :for_individual) }
|
||||||
let(:instructeur) { create(:instructeur) }
|
let(:instructeur) { create(:instructeur) }
|
||||||
let(:new_groupe_instructeur) { create(:groupe_instructeur, procedure: procedure) }
|
let(:new_groupe_instructeur) { create(:groupe_instructeur, procedure: procedure) }
|
||||||
let(:instructeur2) { create(:instructeur, groupe_instructeurs: [procedure.defaut_groupe_instructeur, new_groupe_instructeur]) }
|
let(:instructeur2) { create(:instructeur, groupe_instructeurs: [procedure.defaut_groupe_instructeur, new_groupe_instructeur]) }
|
||||||
let(:dossier) { create(:dossier, :en_construction, procedure: procedure) }
|
let(:dossier) { create(:dossier, :en_construction, :with_individual, procedure: procedure) }
|
||||||
let(:last_operation) { DossierOperationLog.last }
|
let(:last_operation) { DossierOperationLog.last }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
|
@ -918,7 +917,7 @@ describe Dossier do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#accepter!' do
|
describe '#accepter!' do
|
||||||
let(:dossier) { create(:dossier, :en_instruction) }
|
let(:dossier) { create(:dossier, :en_instruction, :with_individual) }
|
||||||
let(:last_operation) { dossier.dossier_operation_logs.last }
|
let(:last_operation) { dossier.dossier_operation_logs.last }
|
||||||
let(:operation_serialized) { JSON.parse(last_operation.serialized.download) }
|
let(:operation_serialized) { JSON.parse(last_operation.serialized.download) }
|
||||||
let!(:instructeur) { create(:instructeur) }
|
let!(:instructeur) { create(:instructeur) }
|
||||||
|
@ -953,7 +952,7 @@ describe Dossier do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#accepter_automatiquement!' do
|
describe '#accepter_automatiquement!' do
|
||||||
let(:dossier) { create(:dossier, :en_construction) }
|
let(:dossier) { create(:dossier, :en_construction, :with_individual) }
|
||||||
let(:last_operation) { dossier.dossier_operation_logs.last }
|
let(:last_operation) { dossier.dossier_operation_logs.last }
|
||||||
let!(:now) { Time.zone.parse('01/01/2100') }
|
let!(:now) { Time.zone.parse('01/01/2100') }
|
||||||
let(:attestation) { Attestation.new }
|
let(:attestation) { Attestation.new }
|
||||||
|
@ -1372,7 +1371,7 @@ describe Dossier do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "remove_titres_identite!" do
|
describe "remove_titres_identite!" do
|
||||||
let(:dossier) { create(:dossier, :en_instruction, :followed) }
|
let(:dossier) { create(:dossier, :en_instruction, :followed, :with_individual) }
|
||||||
let(:type_de_champ_titre_identite) { create(:type_de_champ_titre_identite, procedure: dossier.procedure) }
|
let(:type_de_champ_titre_identite) { create(:type_de_champ_titre_identite, procedure: dossier.procedure) }
|
||||||
let(:champ_titre_identite) { create(:champ_titre_identite, type_de_champ: type_de_champ_titre_identite) }
|
let(:champ_titre_identite) { create(:champ_titre_identite, type_de_champ: type_de_champ_titre_identite) }
|
||||||
let(:type_de_champ_titre_identite_vide) { create(:type_de_champ_titre_identite, procedure: dossier.procedure) }
|
let(:type_de_champ_titre_identite_vide) { create(:type_de_champ_titre_identite, procedure: dossier.procedure) }
|
||||||
|
@ -1412,7 +1411,7 @@ describe Dossier do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'en_construction' do
|
context 'en_construction' do
|
||||||
let(:dossier) { create(:dossier, :en_construction, :followed) }
|
let(:dossier) { create(:dossier, :en_construction, :followed, :with_individual) }
|
||||||
|
|
||||||
it "clean up titres identite on accepter_automatiquement" do
|
it "clean up titres identite on accepter_automatiquement" do
|
||||||
expect(champ_titre_identite.piece_justificative_file.attached?).to be_truthy
|
expect(champ_titre_identite.piece_justificative_file.attached?).to be_truthy
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue