mirror of
https://github.com/Evolix/chexpire.git
synced 2024-05-03 01:10:50 +02:00
notifications tests use reliable test dates
This commit is contained in:
parent
a7010d7689
commit
d15ee5b300
|
@ -5,11 +5,11 @@ require "test_helper"
|
|||
|
||||
class NotificationsMailerTest < ActionMailer::TestCase # rubocop:disable Metrics/ClassLength
|
||||
test "domain_expires_soon" do
|
||||
check = create(:check, domain_expires_at: Time.new(2018, 6, 10, 12, 0, 5, "+02:00"))
|
||||
expiration_date = 8.days.from_now.utc
|
||||
check = create(:check, domain_expires_at: expiration_date)
|
||||
notification = build(:notification, interval: 10, recipient: "colin@example.org")
|
||||
check_notification = build(:check_notification, check: check, notification: notification)
|
||||
|
||||
Date.stub :today, Date.new(2018, 6, 2) do
|
||||
mail = NotificationsMailer.with(check_notification: check_notification).domain_expires_soon
|
||||
|
||||
assert_emails 1 do
|
||||
|
@ -25,23 +25,22 @@ class NotificationsMailerTest < ActionMailer::TestCase # rubocop:disable Metrics
|
|||
|
||||
parts.each do |part|
|
||||
assert_match "domain.fr", part
|
||||
assert_match "Sun, 10 Jun 2018 10:00:05 +0000", part
|
||||
assert_match I18n.l(expiration_date, locale: :en), part
|
||||
assert_match "10 days", part
|
||||
assert_match "/checks/#{check.id}/edit", part
|
||||
assert_no_match "comment", part
|
||||
assert_no_match "vendor", part
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
test "domain_expires_soon FR" do
|
||||
expiration_date = 8.days.from_now.utc
|
||||
check = create(:check,
|
||||
domain_expires_at: Time.new(2018, 6, 10, 12, 0, 5, "+02:00"),
|
||||
domain_expires_at: expiration_date,
|
||||
user: build(:user, :fr))
|
||||
notification = build(:notification, interval: 10, recipient: "colin@example.org")
|
||||
check_notification = build(:check_notification, check: check, notification: notification)
|
||||
|
||||
Date.stub :today, Date.new(2018, 6, 2) do
|
||||
mail = NotificationsMailer.with(check_notification: check_notification).domain_expires_soon
|
||||
|
||||
assert_emails 1 do
|
||||
|
@ -57,14 +56,13 @@ class NotificationsMailerTest < ActionMailer::TestCase # rubocop:disable Metrics
|
|||
|
||||
parts.each do |part|
|
||||
assert_match "domain.fr", part
|
||||
assert_match "dim 10 juin 2018 10:00:05 +0000", part
|
||||
assert_match I18n.l(expiration_date, locale: :fr), part
|
||||
assert_match "10 jours", part
|
||||
assert_match "/checks/#{check.id}/edit", part
|
||||
assert_no_match "commentaire", part
|
||||
assert_no_match "fournisseur", part
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
test "domain_expires_soon include comment & vendor" do
|
||||
check = create(:check,
|
||||
|
@ -159,11 +157,11 @@ class NotificationsMailerTest < ActionMailer::TestCase # rubocop:disable Metrics
|
|||
end
|
||||
|
||||
test "ssl_expires_soon" do
|
||||
check = create(:check, :ssl, domain_expires_at: Time.new(2018, 6, 10, 12, 0, 5, "+02:00"))
|
||||
expiration_date = 8.days.from_now.utc
|
||||
check = create(:check, :ssl, domain_expires_at: 8.days.from_now)
|
||||
notification = build(:notification, interval: 10, recipient: "colin@example.org")
|
||||
check_notification = build(:check_notification, check: check, notification: notification)
|
||||
|
||||
Date.stub :today, Date.new(2018, 6, 2) do
|
||||
mail = NotificationsMailer.with(check_notification: check_notification).ssl_expires_soon
|
||||
|
||||
assert_emails 1 do
|
||||
|
@ -180,23 +178,22 @@ class NotificationsMailerTest < ActionMailer::TestCase # rubocop:disable Metrics
|
|||
|
||||
parts.each do |part|
|
||||
assert_match "domain.fr", part
|
||||
assert_match "Sun, 10 Jun 2018 10:00:05 +0000", part
|
||||
assert_match I18n.l(expiration_date, locale: :en), part
|
||||
assert_match "10 days", part
|
||||
assert_match "/checks/#{check.id}/edit", part
|
||||
assert_no_match "comment", part
|
||||
assert_no_match "vendor", part
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
test "ssl_expires_soon - FR" do
|
||||
expiration_date = 8.days.from_now.utc
|
||||
check = create(:check, :ssl,
|
||||
domain_expires_at: Time.new(2018, 6, 10, 12, 0, 5, "+02:00"),
|
||||
domain_expires_at: expiration_date,
|
||||
user: build(:user, :fr))
|
||||
notification = build(:notification, interval: 10, recipient: "colin@example.org")
|
||||
check_notification = build(:check_notification, check: check, notification: notification)
|
||||
|
||||
Date.stub :today, Date.new(2018, 6, 2) do
|
||||
mail = NotificationsMailer.with(check_notification: check_notification).ssl_expires_soon
|
||||
|
||||
assert_emails 1 do
|
||||
|
@ -213,12 +210,11 @@ class NotificationsMailerTest < ActionMailer::TestCase # rubocop:disable Metrics
|
|||
|
||||
parts.each do |part|
|
||||
assert_match "domain.fr", part
|
||||
assert_match "dim 10 juin 2018 10:00:05 +0000", part
|
||||
assert_match I18n.l(expiration_date, locale: :fr), part
|
||||
assert_match "10 jours", part
|
||||
assert_match "/checks/#{check.id}/edit", part
|
||||
assert_no_match "commentaire", part
|
||||
assert_no_match "fournisseur", part
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue