require "spec_helper" RSpec.describe Digicert::Domain do describe ".create" do it "creates a new domain for an organization" do stub_digicert_domain_create_api(domain_attributes) domain = Digicert::Domain.create(domain_attributes) expect(domain.id).not_to be_nil end end describe ".all" do context "without any filters" do it "retrieves the list of domains" do stub_digicert_domain_list_api domains = Digicert::Domain.all expect(domains.count).to eq(2) expect(domains.first.id).not_to be_nil expect(domains.first.name).not_to be_nil end end context "with custom filters" do it "retrieves the filtered list" do filter_params = { container_id: 123 } stub_digicert_domain_list_api(filter_params) domains = Digicert::Domain.all(filter_params) expect(domains.count).to eq(2) expect(domains.first.id).not_to be_nil expect(domains.first.name).not_to be_nil end end end describe ".fetch" do it "retrieves the specific domain" do domain_id = 123_456_789 filters = { include_dcv: true, include_validation: true } stub_digicert_domain_fetch_api(domain_id, filters) domain = Digicert::Domain.fetch(domain_id, filters) expect(domain.id).not_to be_nil expect(domain.dcv.name_scope).not_to be_nil expect(domain.validations.first.type).to eq("ev") end end describe "#activate" do it "activates a specific domain" do domain_id = 123_456_789 domain = Digicert::Domain.find(domain_id) stub_digicert_domain_activate_api(domain_id) domain_activation = domain.activate expect(domain_activation.code).to eq("204") end end describe "#deactivate" do it "deactivates a specific domain" do domain_id = 123_456_789 domain = Digicert::Domain.find(domain_id) stub_digicert_domain_deactivate_api(domain_id) domain_deactivation = domain.deactivate expect(domain_deactivation.code).to eq("204") end end def domain_attributes { name: "digicert.com", organization: { id: 117483 }, validations: [ { type: "ev", user: { id: 12 }, }, ], dcv: { method: "email" }, } end end