Commit 5c0e3b5e authored by Walmyr Lima e Silva Filho's avatar Walmyr Lima e Silva Filho Committed by Dan Davison

Simplify trigger email notification test

It's better to have the implementation details encapsulated in a
method that is called by the test than having all of it inside the
test itself. This way the `it` block gets cleaner and more focused.
parent e99dc6b2
...@@ -22,8 +22,15 @@ module QA ...@@ -22,8 +22,15 @@ module QA
expect(page).to have_content(/@#{user.username}(\n| )?Given access/) expect(page).to have_content(/@#{user.username}(\n| )?Given access/)
# Wait for Action Mailer to deliver messages mailhog_items = mailhog_json.dig('items')
mailhog_json = Support::Retrier.retry_until(sleep_interval: 1) do
expect(mailhog_items).to include(an_object_satisfying { |o| /project was granted/ === o.dig('Content', 'Headers', 'Subject', 0) })
end
private
def mailhog_json
Support::Retrier.retry_until(sleep_interval: 1) do
Runtime::Logger.debug(%Q[retrieving "#{QA::Runtime::MailHog.api_messages_url}"]) Runtime::Logger.debug(%Q[retrieving "#{QA::Runtime::MailHog.api_messages_url}"])
mailhog_response = get QA::Runtime::MailHog.api_messages_url mailhog_response = get QA::Runtime::MailHog.api_messages_url
...@@ -33,10 +40,6 @@ module QA ...@@ -33,10 +40,6 @@ module QA
# Expect at least two invitation messages: group and project # Expect at least two invitation messages: group and project
mailhog_data if mailhog_data.dig('total') >= 2 mailhog_data if mailhog_data.dig('total') >= 2
end end
# Check json result from mailhog
mailhog_items = mailhog_json.dig('items')
expect(mailhog_items).to include(an_object_satisfying { |o| /project was granted/ === o.dig('Content', 'Headers', 'Subject', 0) })
end end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment