fix(spec): scope out time as reference for time comparission, hope not a matter of precision
This commit is contained in:
parent
f1293814a3
commit
a74ca8ad39
3 changed files with 13 additions and 4 deletions
|
@ -47,6 +47,10 @@ class Commentaire < ApplicationRecord
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def soft_deleted?
|
||||||
|
!!deleted_at
|
||||||
|
end
|
||||||
|
|
||||||
def header
|
def header
|
||||||
"#{redacted_email}, #{I18n.l(created_at, format: '%d %b %Y %H:%M')}"
|
"#{redacted_email}, #{I18n.l(created_at, format: '%d %b %Y %H:%M')}"
|
||||||
end
|
end
|
||||||
|
@ -79,6 +83,10 @@ class Commentaire < ApplicationRecord
|
||||||
someone.present? && email == someone&.email
|
someone.present? && email == someone&.email
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def soft_deletable?
|
||||||
|
sent_by?(connected_user) && sent_by_instructeur? && !soft_deleted?
|
||||||
|
end
|
||||||
|
|
||||||
def file_url
|
def file_url
|
||||||
if piece_jointe.attached? && piece_jointe.virus_scanner.safe?
|
if piece_jointe.attached? && piece_jointe.virus_scanner.safe?
|
||||||
Rails.application.routes.url_helpers.url_for(piece_jointe)
|
Rails.application.routes.url_helpers.url_for(piece_jointe)
|
||||||
|
@ -99,7 +107,7 @@ class Commentaire < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def notify_user
|
def notify_user
|
||||||
DossierMailer.notify_new_answer(dossier, body).deliver_later
|
DossierMailer.notify_new_answer(dossier, body).deliver_later(wait: 10.minutes)
|
||||||
end
|
end
|
||||||
|
|
||||||
def messagerie_available?
|
def messagerie_available?
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
.rich-text= pretty_commentaire(commentaire)
|
.rich-text= pretty_commentaire(commentaire)
|
||||||
|
|
||||||
.message-extras.flex.justify-start
|
.message-extras.flex.justify-start
|
||||||
- if commentaire.sent_by?(connected_user) && commentaire.sent_by_instructeur? && commentaire.deleted_at.nil?
|
- if commentaire.soft_deletable?(connected_user)
|
||||||
= button_to instructeur_commentaire_path(commentaire.dossier.procedure, commentaire.dossier, commentaire), method: :delete, class: 'button danger', data: { confirm: t('views.shared.commentaires.destroy.confirm') } do
|
= button_to instructeur_commentaire_path(commentaire.dossier.procedure, commentaire.dossier, commentaire), method: :delete, class: 'button danger', data: { confirm: t('views.shared.commentaires.destroy.confirm') } do
|
||||||
%span.icon.delete
|
%span.icon.delete
|
||||||
= t('views.shared.commentaires.destroy.button')
|
= t('views.shared.commentaires.destroy.button')
|
||||||
|
|
|
@ -103,8 +103,9 @@ describe CommentaireService do
|
||||||
expect { subject }.to change { commentaire.reload.body }.from(an_instance_of(String)).to("Message supprimé")
|
expect { subject }.to change { commentaire.reload.body }.from(an_instance_of(String)).to("Message supprimé")
|
||||||
end
|
end
|
||||||
it 'set deleted_at' do
|
it 'set deleted_at' do
|
||||||
Timecop.freeze do
|
now = Time.zone.now
|
||||||
expect { subject }.to change { commentaire.reload.deleted_at }.from(nil).to(Time.zone.now)
|
Timecop.freeze(now) do
|
||||||
|
expect { subject }.to change { commentaire.reload.deleted_at }.from(nil).to(now)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue