| defmodule Plausible.Workers.NotifyExportedAnalyticsTest do | |
| use Plausible.DataCase | |
| use Bamboo.Test | |
| describe "perform/1" do | |
| setup do | |
| user = new_user() | |
| site = new_site(owner: user) | |
| {:ok, user: user, site: site} | |
| end | |
| # for 'success' case please see Plausible.Imported.CSVImporterTest | |
| test "delivers 'failure' email", %{user: user, site: site} do | |
| job = | |
| Plausible.Workers.NotifyExportedAnalytics.new(%{ | |
| "status" => "failure", | |
| "storage" => on_ee(do: "s3", else: "local"), | |
| "email_to" => user.email, | |
| "site_id" => site.id | |
| }) | |
| Oban.insert!(job) | |
| assert %{success: 1} = | |
| Oban.drain_queue(queue: :notify_exported_analytics, with_safety: false) | |
| assert_receive {:delivered_email, email} | |
| assert email.html_body =~ "was unsuccessful." | |
| assert email.text_body =~ "was unsuccessful." | |
| end | |
| end | |
| end | |