Files
ubicloud/spec/model/page_spec.rb
Jeremy Evans 4b819d3cb2 Change all create_with_id to create
It hasn't been necessary to use create_with_id since
ebc79622df, in December 2024.

I have plans to introduce:

```ruby
def create_with_id(id, values)
  obj = new(values)
  obj.id = id
  obj.save_changes
end
```

This will make it easier to use the same id when creating
multiple objects.  The first step is removing the existing
uses of create_with_id.
2025-08-06 01:55:51 +09:00

44 lines
1.6 KiB
Ruby

# frozen_string_literal: true
require_relative "spec_helper"
require "json"
RSpec.describe Page do
subject(:p) { described_class.create(tag: "dummy-tag") }
describe "#trigger" do
before do
expect(Config).to receive(:pagerduty_key).and_return("dummy-key").at_least(:once)
stub_request(:post, "https://events.pagerduty.com/v2/enqueue")
.to_return(status: 200, body: {dedup_key: "dummy-dedup-key", message: "Event processed", status: "success"}.to_json, headers: {})
end
it "triggers a page in Pagerduty if key is present" do
expect(p).to receive(:details).and_return({}).at_least(:once)
p.trigger
end
it "triggers a page with custom_details" do
expect(p).to receive(:details).and_return({"related_resources" => ["a410a91a-dc31-4119-9094-3c6a1fb49601"]}).at_least(:once)
p.trigger
end
it "triggers a page with custom_details and log link" do
expect(Config).to receive(:pagerduty_log_link).and_return("https://logviewer.com?q=<ubid>").at_least(:once)
expect(p).to receive(:details).and_return({"related_resources" => ["a410a91a-dc31-4119-9094-3c6a1fb49601"]}).at_least(:once)
p.trigger
end
end
describe "#resolve" do
it "resolves the page in Pagerduty if key is present" do
expect(Config).to receive(:pagerduty_key).and_return("dummy-key").at_least(:once)
stub_request(:post, "https://events.pagerduty.com/v2/enqueue")
.to_return(status: 200, body: {dedup_key: "dummy-dedup-key", message: "Event processed", status: "success"}.to_json, headers: {})
p.resolve
end
end
end