Merge pull request #2212 from internetee/added_notifications_for_acc_center

added mail contronller and job for notificate registrars and admins about accreditation expire date
This commit is contained in:
Timo Võhmar 2022-01-13 09:23:11 +02:00 committed by GitHub
commit 4ccbbd2292
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 167 additions and 4 deletions

View file

@ -18,6 +18,7 @@ class ReppV1AccreditationResultsTest < ActionDispatch::IntegrationTest
json = JSON.parse(response.body, symbolize_names: true)
assert_response :ok
assert_emails 2
assert_equal json[:data][:user][:username], @user.username
assert_equal json[:data][:result], "true"
assert_equal json[:data][:message], "Accreditation info successfully added"
@ -31,6 +32,7 @@ class ReppV1AccreditationResultsTest < ActionDispatch::IntegrationTest
assert_response :unauthorized
assert_emails 0
assert_equal json[:code], 2202
assert_equal json[:message], 'Invalid authorization information'
end
@ -43,6 +45,7 @@ class ReppV1AccreditationResultsTest < ActionDispatch::IntegrationTest
assert_response :ok
assert_emails 0
assert_equal json[:code], 2303
assert_equal json[:message], "Object 'chungachanga' does not exist"
end

View file

@ -0,0 +1,38 @@
require 'test_helper'
class NotifyAccreditationAdminsAndRegistrarsJobTest < ActiveJob::TestCase
include ActionMailer::TestHelper
setup do
ActionMailer::Base.deliveries.clear
end
def test_inform_registrars_if_accredation_date_is_expires
api_user = users(:api_bestnames)
api_user.accreditation_date = Time.now - 2.year - 1.day
api_user.accreditation_expire_date = Time.now - 1.day
api_user.save
api_user.reload
perform_enqueued_jobs do
NotifyAccreditationAdminsAndRegistrarsJob.perform_now
end
assert_emails 1
end
# def test_inform_registrars_if_deadline_date_in_one_month
# api_user = users(:api_bestnames)
# api_user.accreditation_date = Time.now - 2.year - 1.day
# api_user.accreditation_expire_date = Time.now + 1.month - 1.day
# api_user.save
# api_user.reload
#
# perform_enqueued_jobs do
# NotifyAccreditationAdminsAndRegistrarsJob.perform_now
# end
#
# assert_emails 1
# end
end

View file

@ -0,0 +1,40 @@
require 'test_helper'
class AccreditationCenterMailerTest < ActionMailer::TestCase
setup do
@admin = users(:admin)
@registrar = registrars(:bestnames)
end
def test_send_mails_for_admins
email = AccreditationCenterMailer.test_was_successfully_passed_admin(@admin.email)
.deliver_now
assert_emails 1
assert_equal [@admin.email], email.to
end
def test_send_mails_for_registrar
email = AccreditationCenterMailer.test_was_successfully_passed_registrar(@registrar.email)
.deliver_now
assert_emails 1
assert_equal [@registrar.email], email.to
end
def test_send_mails_month_before
email = AccreditationCenterMailer.test_results_will_expired_in_one_month(@registrar.email)
.deliver_now
assert_emails 1
assert_equal [@registrar.email], email.to
end
def test_send_mails_if_accredation_date_is_expired
email = AccreditationCenterMailer.test_results_are_expired(@registrar.email)
.deliver_now
assert_emails 1
assert_equal [@registrar.email], email.to
end
end