Skip to content

Commit 6693285

Browse files
committed
Use uuid for screenshot resources
1 parent 2bd29b0 commit 6693285

5 files changed

Lines changed: 40 additions & 24 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@ submission = PreflightQA::Screenshots.create(
5353
mode: "dark"
5454
)
5555

56-
submission.guid
56+
submission.uuid
5757
submission.status
5858
```
5959

6060
Find screenshots for a submission:
6161

6262
```ruby
63-
screenshots = PreflightQA::Screenshots.find(submission.guid)
63+
screenshots = PreflightQA::Screenshots.find(submission.uuid)
6464

6565
screenshots.each do |screenshot|
6666
puts "#{screenshot.app}: #{screenshot.status} -> #{screenshot.url}"

lib/preflight_qa/screenshot.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# frozen_string_literal: true
22

33
module PreflightQA
4-
Screenshot = Data.define(:guid, :app, :mode, :status, :url, :raw) do
5-
def self.from_payload(payload, guid: nil)
4+
Screenshot = Data.define(:uuid, :app, :mode, :status, :url, :raw) do
5+
def self.from_payload(payload, uuid: nil)
66
new(
7-
guid: payload["guid"] || guid,
7+
uuid: payload["uuid"] || uuid,
88
app: payload["app"],
99
mode: payload["mode"],
1010
status: payload["status"],

lib/preflight_qa/screenshots.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ def create(subject:, html:, **options)
1111
)
1212
end
1313

14-
def find(guid)
15-
payload = PreflightQA.client.get("/screenshots/#{guid}")
14+
def find(uuid)
15+
payload = PreflightQA.client.get("/screenshots/#{uuid}")
1616
screenshots = extract_screenshots(payload)
17-
screenshots.map { |screenshot| Screenshot.from_payload(screenshot, guid: extract_guid(payload, guid)) }
17+
screenshots.map { |screenshot| Screenshot.from_payload(screenshot, uuid: extract_uuid(payload, uuid)) }
1818
end
1919

2020
def extract_screenshots(payload)
@@ -26,13 +26,13 @@ def extract_screenshots(payload)
2626
end
2727
private_class_method :extract_screenshots
2828

29-
def extract_guid(payload, fallback)
30-
payload.dig("meta", "guid") ||
31-
payload.dig("data", "guid") ||
32-
payload.dig("data", "submission", "guid") ||
29+
def extract_uuid(payload, fallback)
30+
payload.dig("meta", "uuid") ||
31+
payload.dig("data", "uuid") ||
32+
payload.dig("data", "submission", "uuid") ||
3333
fallback
3434
end
35-
private_class_method :extract_guid
35+
private_class_method :extract_uuid
3636

3737
def build_create_payload(subject:, html:, options:)
3838
payload = { subject: subject, html: html }

lib/preflight_qa/submission.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# frozen_string_literal: true
22

33
module PreflightQA
4-
Submission = Data.define(:guid, :status, :subject, :raw) do
4+
Submission = Data.define(:uuid, :status, :subject, :raw) do
55
def self.from_payload(payload)
66
data = payload["data"] || payload
77
source = data["submission"] || data["request"] || data["screenshot_request"] || data
88

99
new(
10-
guid: source["guid"] || payload.dig("meta", "guid"),
10+
uuid: source["uuid"] || payload.dig("meta", "uuid"),
1111
status: source["status"],
1212
subject: source["subject"] || payload.dig("meta", "subject"),
1313
raw: payload

spec/preflight_qa/screenshots_spec.rb

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
{
77
"data" => {
88
"submission" => {
9-
"guid" => "abc123",
9+
"uuid" => "1b153496-f702-4f89-85b4-cd1a9516cbbe",
1010
"status" => "pending",
1111
"subject" => "My Test Email"
1212
}
@@ -19,13 +19,19 @@
1919
"screenshots" => [
2020
{
2121
"app" => "outlook_mac",
22-
"mode" => "dark",
22+
"mode" => "light",
2323
"status" => "complete",
2424
"url" => "https://preflight.qa/screenshot.png"
25+
},
26+
{
27+
"app" => "outlook_mac",
28+
"mode" => "dark",
29+
"status" => "pending",
30+
"url" => nil
2531
}
2632
]
2733
},
28-
"meta" => { "guid" => "abc123" }
34+
"meta" => { "uuid" => "1b153496-f702-4f89-85b4-cd1a9516cbbe" }
2935
}
3036
end
3137

@@ -57,28 +63,38 @@
5763

5864
expect(result).to eq(
5965
PreflightQA::Submission.new(
60-
guid: "abc123",
66+
uuid: "1b153496-f702-4f89-85b4-cd1a9516cbbe",
6167
status: "pending",
6268
subject: "My Test Email",
6369
raw: submission_payload
6470
)
6571
)
6672
end
6773

68-
it "finds screenshots by guid" do
69-
allow(client).to receive(:get).with("/screenshots/abc123").and_return(screenshot_payload)
74+
it "finds screenshots by uuid" do
75+
allow(client).to receive(:get)
76+
.with("/screenshots/1b153496-f702-4f89-85b4-cd1a9516cbbe")
77+
.and_return(screenshot_payload)
7078

71-
result = described_class.find("abc123")
79+
result = described_class.find("1b153496-f702-4f89-85b4-cd1a9516cbbe")
7280

7381
expect(result).to eq(
7482
[
7583
PreflightQA::Screenshot.new(
76-
guid: "abc123",
84+
uuid: "1b153496-f702-4f89-85b4-cd1a9516cbbe",
7785
app: "outlook_mac",
78-
mode: "dark",
86+
mode: "light",
7987
status: "complete",
8088
url: "https://preflight.qa/screenshot.png",
8189
raw: screenshot_payload.fetch("data").fetch("screenshots").first
90+
),
91+
PreflightQA::Screenshot.new(
92+
uuid: "1b153496-f702-4f89-85b4-cd1a9516cbbe",
93+
app: "outlook_mac",
94+
mode: "dark",
95+
status: "pending",
96+
url: nil,
97+
raw: screenshot_payload.fetch("data").fetch("screenshots").last
8298
)
8399
]
84100
)

0 commit comments

Comments
 (0)