mirror of
https://github.com/postalserver/postal.git
synced 2026-10-18 18:26:06 +00:00
74 lines
2.4 KiB
Ruby
74 lines
2.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "rails_helper"
|
|
|
|
RSpec.describe "domains/setup", type: :view do
|
|
let(:user) { create(:user, admin: true) }
|
|
let(:organization) { create(:organization, owner: user) }
|
|
let(:domain) { create(:domain, owner: organization, dkim_status: "OK") }
|
|
|
|
before do
|
|
assign(:organization, organization)
|
|
assign(:domain, domain)
|
|
assign(:server, nil)
|
|
without_partial_double_verification do
|
|
allow(view).to receive(:organization).and_return(organization)
|
|
allow(view).to receive(:current_user).and_return(user)
|
|
allow(view).to receive(:page_title).and_return(["Postal"])
|
|
end
|
|
end
|
|
|
|
context "when no key change is in progress" do
|
|
it "shows the active record and offers regeneration" do
|
|
render
|
|
expect(rendered).to include(domain.dkim_record_name)
|
|
expect(rendered).to include(domain.dkim_record)
|
|
expect(rendered).to include("Regenerate DKIM key")
|
|
expect(rendered).to_not include("Key change in progress")
|
|
expect(rendered).to_not include("Cancel new DKIM key")
|
|
end
|
|
end
|
|
|
|
context "when a key change is in progress" do
|
|
before do
|
|
domain.regenerate_dkim_key!
|
|
end
|
|
|
|
it "shows both the current and the new record" do
|
|
render
|
|
expect(rendered).to include(domain.dkim_record_name)
|
|
expect(rendered).to include(domain.dkim_record)
|
|
expect(rendered).to include(domain.pending_dkim_record_name)
|
|
expect(rendered).to include(domain.pending_dkim_record)
|
|
end
|
|
|
|
it "labels which record is active and which must be added" do
|
|
render
|
|
expect(rendered).to include("Key change in progress")
|
|
expect(rendered).to include("Keep this record exactly as it is")
|
|
expect(rendered).to include("Add this record as well")
|
|
end
|
|
|
|
it "tells the user to add the new record rather than replace the old one" do
|
|
render
|
|
expect(rendered).to include("alongside the record above rather than replacing it")
|
|
end
|
|
|
|
it "does not describe the active record as one which needs adding" do
|
|
render
|
|
expect(rendered).to_not include("You need to add a new TXT record")
|
|
end
|
|
|
|
it "offers cancellation instead of another regeneration" do
|
|
render
|
|
expect(rendered).to include("Cancel new DKIM key")
|
|
expect(rendered).to_not include("Regenerate DKIM key")
|
|
end
|
|
|
|
it "does not claim the DKIM record is fully good" do
|
|
render
|
|
expect(rendered).to_not include("Your DKIM record looks good!")
|
|
end
|
|
end
|
|
end
|