Cleaning
This commit is contained in:
parent
36500407b4
commit
7b336922cc
7 changed files with 5 additions and 160 deletions
|
@ -15,10 +15,6 @@ class NotificationMailer < ApplicationMailer
|
|||
send_mail dossier, "Nouveau message pour votre dossier TPS N°#{dossier.id}"
|
||||
end
|
||||
|
||||
def dossier_received dossier
|
||||
send_mail dossier, dossier.procedure.mail_received.object_for_dossier(dossier)
|
||||
end
|
||||
|
||||
def dossier_submitted dossier
|
||||
send_mail dossier, "Votre dossier TPS N°#{dossier.id} a été déposé"
|
||||
end
|
||||
|
|
|
@ -4,7 +4,6 @@ class Procedure < ActiveRecord::Base
|
|||
has_many :types_de_champ_private, dependent: :destroy
|
||||
has_many :dossiers
|
||||
has_many :mail_templates
|
||||
has_one :mail_received
|
||||
|
||||
has_one :initiated_mail
|
||||
|
||||
|
@ -31,12 +30,6 @@ class Procedure < ActiveRecord::Base
|
|||
validates :libelle, presence: true, allow_blank: false, allow_nil: false
|
||||
validates :description, presence: true, allow_blank: false, allow_nil: false
|
||||
|
||||
after_create :build_default_mails
|
||||
|
||||
def build_default_mails
|
||||
MailReceived.create(procedure: self) unless mail_received
|
||||
end
|
||||
|
||||
def initiated_mail_with_override
|
||||
initiated_mail_without_override || InitiatedMail.default
|
||||
end
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
<%= @dossier.procedure.mail_received.body_for_dossier(@dossier).html_safe %>
|
|
@ -35,16 +35,4 @@ RSpec.describe NotificationMailer, type: :mailer do
|
|||
it { expect(subject.body).to match("ce jour à #{dossier.updated_at}.") }
|
||||
it { expect(subject.subject).to eq("Votre dossier TPS N°#{dossier.id} a été déposé") }
|
||||
end
|
||||
|
||||
describe '.dossier_received' do
|
||||
let(:user) { create(:user) }
|
||||
let(:dossier) { create(:dossier, user: user) }
|
||||
|
||||
subject(:subject) { described_class.dossier_received(dossier) }
|
||||
|
||||
before { dossier.reload }
|
||||
|
||||
it { expect(subject.subject).to eq("[TPS] Accusé de réception pour votre dossier n°#{dossier.id}") }
|
||||
it { expect(subject.body).to match("Votre administration vous confirme la bonne réception de votre dossier n°#{dossier.id}") }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
load 'spec/spec_helper.rb'
|
||||
load 'db/migrate/20170215102943_remove_duplicate_email_received.rb'
|
||||
|
||||
describe RemoveDuplicateEmailReceived do
|
||||
context 'with one procedure and one associated mail_received' do
|
||||
let!(:procedure) { create(:procedure) }
|
||||
|
||||
it 'keeps the procedure mails' do
|
||||
RemoveDuplicateEmailReceived.new.change
|
||||
expect(MailReceived.count).to eq(1)
|
||||
end
|
||||
|
||||
context 'and another mail_received' do
|
||||
before :each do
|
||||
MailReceived.create!(procedure: procedure)
|
||||
end
|
||||
|
||||
it 'destroys the unecessary maiL_received' do
|
||||
RemoveDuplicateEmailReceived.new.change
|
||||
expect(MailReceived.count).to eq(1)
|
||||
expect(procedure.mail_received).not_to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -6,85 +6,15 @@ describe MailTemplate do
|
|||
|
||||
it { is_expected.to belong_to(:procedure) }
|
||||
|
||||
describe '.tags' do
|
||||
subject { MailTemplate::TAGS }
|
||||
|
||||
it { expect(subject.size).to eq 3 }
|
||||
|
||||
describe 'numero_dossier' do
|
||||
subject { super()[:numero_dossier] }
|
||||
|
||||
describe 'attr and description value' do
|
||||
|
||||
it { expect(subject[:description]).to eq "Permet d'afficher le numéro de dossier de l'utilisateur." }
|
||||
end
|
||||
end
|
||||
|
||||
describe 'libelle_procedure' do
|
||||
subject { super()[:libelle_procedure] }
|
||||
|
||||
describe 'attr and description value' do
|
||||
|
||||
it { expect(subject[:description]).to eq "Permet d'afficher le libellé de la procédure." }
|
||||
end
|
||||
end
|
||||
|
||||
describe 'lien_dossier' do
|
||||
subject { super()[:lien_dossier] }
|
||||
|
||||
describe 'attr and description value' do
|
||||
|
||||
it { expect(subject[:description]).to eq "Permet d'afficher un lien vers le dossier de l'utilisateur." }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '.replace_tags' do
|
||||
let(:dossier) { create :dossier }
|
||||
let(:procedure) { dossier.procedure }
|
||||
let(:mail_received) { procedure.mail_received }
|
||||
let(:initiated_mail) { InitiatedMail.default }
|
||||
|
||||
describe 'for tag --numero_dossier--' do
|
||||
before do
|
||||
procedure.mail_received.update_column(:object, '[TPS] Dossier n°--numero_dossier--')
|
||||
end
|
||||
it 'works' do
|
||||
initiated_mail.object = '[TPS] --numero_dossier-- --libelle_procedure-- --lien_dossier--'
|
||||
expected = "[TPS] 1 Demande de subvention <a target=\"_blank\" href=\"http://localhost:3000/users/dossiers/1/recapitulatif\">http://localhost:3000/users/dossiers/1/recapitulatif</a>"
|
||||
|
||||
subject { procedure.mail_received.object_for_dossier dossier }
|
||||
|
||||
it { expect(subject).to eq "[TPS] Dossier n°#{dossier.id}" }
|
||||
end
|
||||
|
||||
describe 'for tag --libelle_procedure--' do
|
||||
before do
|
||||
procedure.mail_received.update_column(:object, '[TPS] Dossier pour la procédure --libelle_procedure--')
|
||||
end
|
||||
|
||||
subject { procedure.mail_received.object_for_dossier dossier }
|
||||
|
||||
it { expect(subject).to eq "[TPS] Dossier pour la procédure #{procedure.libelle}" }
|
||||
end
|
||||
|
||||
describe 'for tag --lien_dossier--' do
|
||||
include Rails.application.routes.url_helpers
|
||||
include ActionView::Helpers::UrlHelper
|
||||
|
||||
before do
|
||||
procedure.mail_received.update_column(:body, 'Consultez votre dossier ici --lien_dossier--')
|
||||
end
|
||||
|
||||
subject { procedure.mail_received.body_for_dossier dossier }
|
||||
|
||||
it { is_expected.to eq "Consultez votre dossier ici #{link_to users_dossier_recapitulatif_url(dossier), users_dossier_recapitulatif_url(dossier), target: '_blank'}" }
|
||||
end
|
||||
|
||||
describe 'multiple tags' do
|
||||
before do
|
||||
procedure.mail_received.update_column(:object, '[TPS] Dossier n°--numero_dossier-- pour la procédure --libelle_procedure-- et encore le numéro : --numero_dossier--')
|
||||
end
|
||||
|
||||
subject { procedure.mail_received.object_for_dossier dossier }
|
||||
|
||||
it { expect(subject).to eq "[TPS] Dossier n°#{dossier.id} pour la procédure #{procedure.libelle} et encore le numéro : #{dossier.id}" }
|
||||
expect(initiated_mail.object_for_dossier(dossier)).to eq(expected)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,38 +21,6 @@ describe Procedure do
|
|||
it { is_expected.to have_db_column(:logo_secure_token) }
|
||||
it { is_expected.to have_db_column(:cerfa_flag) }
|
||||
it { is_expected.to have_db_column(:published) }
|
||||
|
||||
describe 'mail_received' do
|
||||
let(:procedure) { create :procedure }
|
||||
|
||||
before do
|
||||
create :mail_received, procedure: procedure
|
||||
end
|
||||
|
||||
it { expect(procedure.mail_received).not_to be_nil }
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe '#build_default_mails' do
|
||||
subject { build :procedure, mail_templates: [] }
|
||||
|
||||
it 'call the fonction build_default_mails' do
|
||||
expect(subject).to receive(:build_default_mails)
|
||||
subject.save
|
||||
end
|
||||
|
||||
describe 'accessible values' do
|
||||
|
||||
before do
|
||||
subject.save
|
||||
subject.reload
|
||||
end
|
||||
|
||||
it { expect(subject.mail_templates.size).to eq 1 }
|
||||
|
||||
it { expect(subject.mail_received).not_to be_nil }
|
||||
end
|
||||
end
|
||||
|
||||
describe 'initiated_mail' do
|
||||
|
@ -196,10 +164,6 @@ describe Procedure do
|
|||
let!(:piece_justificative_0) { create(:type_de_piece_justificative, procedure: procedure, order_place: 0) }
|
||||
let!(:piece_justificative_1) { create(:type_de_piece_justificative, procedure: procedure, order_place: 1) }
|
||||
|
||||
before do
|
||||
procedure.mail_received.object = "Je vais être cloné"
|
||||
end
|
||||
|
||||
subject { procedure.clone }
|
||||
|
||||
it 'should duplicate specific objects with different id' do
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue