21
1
Fork 0
mirror of https://github.com/Evolix/chexpire.git synced 2024-05-03 01:10:50 +02:00
This commit is contained in:
Colin Darie 2019-02-28 16:07:36 +00:00 committed by GitHub
commit 83c75a2713
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 27 additions and 3 deletions

View file

@ -22,7 +22,7 @@ module Notifier
.deliver_now
end
def ssl_notify_expires_soon(_notification)
def ssl_notify_expires_soon(check_notification)
NotificationsMailer.with(check_notification: check_notification)
.ssl_expires_soon
.deliver_now

View file

@ -13,6 +13,7 @@ module Notifier
def checks_recurrent_failures(min_consecutive)
Check
.active
.auto
.consecutive_failures(min_consecutive)
.includes(:user)
.where.not(user: ignore_users)

View file

@ -84,6 +84,15 @@ FactoryBot.define do
active false
end
trait :auto do
mode :auto
end
trait :manual do
mode :manual
domain "unupported.wxyz"
end
trait :with_notifications do
after :create do |check|
create_list :check_notification, 2,

View file

@ -6,13 +6,17 @@ class NotificationsMailerPreview < ActionMailer::Preview
# Preview this email at http://localhost:3000/rails/mailers/notifications_mailer/domain_expires_soon
def domain_expires_soon
check = Check.domain.first
NotificationsMailer.with(notification: check.notifications.first).domain_expires_soon
NotificationsMailer
.with(check_notification: check.check_notifications.first)
.domain_expires_soon
end
# Preview this email at http://localhost:3000/rails/mailers/notifications_mailer/ssl_expires_soon
def ssl_expires_soon
check = Check.ssl.first
NotificationsMailer.with(notification: check.notifications.first).ssl_expires_soon
NotificationsMailer
.with(check_notification: check.check_notifications.first)
.ssl_expires_soon
end
# Preview this email at http://localhost:3000/rails/mailers/notifications_mailer/recurrent_failures

View file

@ -91,6 +91,16 @@ module Notifier
assert_includes checks, c2
end
test "#checks_recurrent_failures ignores manual checks" do
c1 = create(:check, :last_runs_failed, :manual)
c2 = create(:check, :last_runs_failed, :auto)
checks = @resolver.checks_recurrent_failures(4)
assert_not_includes checks, c1
assert_includes checks, c2
end
test "#checks_recurrent_failures ignores user having notification disabled" do
c1 = create(:check, :last_runs_failed)
c1.user.update_attribute(:notifications_enabled, false)