diff options
Diffstat (limited to 'spec/services/pages_domains/obtain_lets_encrypt_certificate_service_spec.rb')
-rw-r--r-- | spec/services/pages_domains/obtain_lets_encrypt_certificate_service_spec.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/services/pages_domains/obtain_lets_encrypt_certificate_service_spec.rb b/spec/services/pages_domains/obtain_lets_encrypt_certificate_service_spec.rb index 9832ba95524..163276db7e6 100644 --- a/spec/services/pages_domains/obtain_lets_encrypt_certificate_service_spec.rb +++ b/spec/services/pages_domains/obtain_lets_encrypt_certificate_service_spec.rb @@ -163,4 +163,22 @@ describe PagesDomains::ObtainLetsEncryptCertificateService do expect(PagesDomainAcmeOrder.find_by_id(existing_order.id)).to be_nil end end + + context 'when order is invalid' do + let(:existing_order) do + create(:pages_domain_acme_order, pages_domain: pages_domain) + end + + let!(:api_order) do + stub_lets_encrypt_order(existing_order.url, 'invalid') + end + + it 'saves error to domain and deletes acme order' do + expect do + service.execute + end.to change { pages_domain.reload.auto_ssl_failed }.from(false).to(true) + + expect(PagesDomainAcmeOrder.find_by_id(existing_order.id)).to be_nil + end + end end |