Skip to content

Commit 6dcfdf7

Browse files
committed
consolidate adding new webhook test, reduces redundancy
1 parent a0c039d commit 6dcfdf7

File tree

2 files changed

+36
-39
lines changed

2 files changed

+36
-39
lines changed

test/webhooks/registry_test.rb

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -60,28 +60,29 @@ def setup
6060
assert_nil(update_registration_response.body)
6161
end
6262

63-
define_method("test_#{protocol}_registration_add_and_update_on_#{address}") do
63+
define_method("test_#{protocol}_add_registration_with_address_#{address}") do
6464
do_registration_test(
6565
queries[protocol][:check_empty_response],
6666
queries[protocol][:register_add_query],
6767
queries[protocol][:register_add_response],
6868
protocol,
6969
address,
70+
fields: ["field1", "field2"],
71+
metafield_namespaces: ["namespace1", "namespace2"],
7072
)
7173
end
7274

73-
define_method("test_#{protocol}_registration_with_fields_add_and_update_on_#{address}") do
74-
# add webhook
75+
define_method("test_#{protocol}_update_registration_address_with_original_address_#{address}") do
7576
do_registration_test(
76-
queries[protocol][:check_empty_response],
77-
queries[protocol][:register_add_query_with_fields],
78-
queries[protocol][:register_add_with_fields_response],
77+
queries[protocol][:check_existing_response],
78+
queries[protocol][:register_update_query],
79+
queries[protocol][:register_update_response],
7980
protocol,
80-
address,
81-
fields: "field1, field2",
81+
address + "-updated",
8282
)
83+
end
8384

84-
# update webhook fields
85+
define_method("test_#{protocol}_update_registration_fields_with_address_#{address}") do
8586
do_registration_test(
8687
queries[protocol][:check_existing_response],
8788
queries[protocol][:register_update_query_with_fields],
@@ -92,18 +93,7 @@ def setup
9293
)
9394
end
9495

95-
define_method("test_#{protocol}_registration_with_fields_array_add_and_update_on_#{address}") do
96-
# add webhook
97-
do_registration_test(
98-
queries[protocol][:check_empty_response],
99-
queries[protocol][:register_add_query_with_fields],
100-
queries[protocol][:register_add_with_fields_response],
101-
protocol,
102-
address,
103-
fields: ["field1", "field2"],
104-
)
105-
106-
# update webhook fields
96+
define_method("test_#{protocol}_update_registration_fields_array_with_address_#{address}") do
10797
do_registration_test(
10898
queries[protocol][:check_existing_response],
10999
queries[protocol][:register_update_query_with_fields],
@@ -114,18 +104,7 @@ def setup
114104
)
115105
end
116106

117-
define_method("test_#{protocol}_registration_with_metafield_namespaces_add_and_update_on_#{address}") do
118-
# add webhook
119-
do_registration_test(
120-
queries[protocol][:check_empty_response],
121-
queries[protocol][:register_add_query_with_metafield_namespaces],
122-
queries[protocol][:register_add_with_metafield_namespaces_response],
123-
protocol,
124-
address,
125-
metafield_namespaces: ["namespace1", "namespace2"],
126-
)
127-
128-
# update webhook metafield namespaces
107+
define_method("test_#{protocol}_update_registration_metafield_namespaces_with_address_#{address}") do
129108
do_registration_test(
130109
queries[protocol][:check_existing_response],
131110
queries[protocol][:register_update_query_with_metafield_namespaces],

test/webhooks/registry_test_queries.rb

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,15 @@ def queries
3838
register_add_query:
3939
<<~QUERY,
4040
mutation webhookSubscription {
41-
webhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {callbackUrl: "https://app-address.com/test-webhooks"}) {
41+
webhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {callbackUrl: "https://app-address.com/test-webhooks", includeFields: ["field1", "field2"], metafieldNamespaces: ["namespace1", "namespace2"]}) {
4242
userErrors {
4343
field
4444
message
4545
}
4646
webhookSubscription {
4747
id
48+
includeFields
49+
metafieldNamespaces
4850
}
4951
}
5052
}
@@ -84,7 +86,11 @@ def queries
8486
"data" => {
8587
"webhookSubscriptionCreate" => {
8688
"userErrors" => [],
87-
"webhookSubscription" => { "id" => "gid://shopify/WebhookSubscription/12345" },
89+
"webhookSubscription" => {
90+
"id" => "gid://shopify/WebhookSubscription/12345",
91+
"includeFields" => ["field1", "field2"],
92+
"metafieldNamespaces" => ["namespace1", "namespace2"],
93+
},
8894
},
8995
},
9096
},
@@ -249,13 +255,15 @@ def queries
249255
register_add_query:
250256
<<~QUERY,
251257
mutation webhookSubscription {
252-
eventBridgeWebhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {arn: "test-webhooks"}) {
258+
eventBridgeWebhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {arn: "test-webhooks", includeFields: ["field1", "field2"], metafieldNamespaces: ["namespace1", "namespace2"]}) {
253259
userErrors {
254260
field
255261
message
256262
}
257263
webhookSubscription {
258264
id
265+
includeFields
266+
metafieldNamespaces
259267
}
260268
}
261269
}
@@ -294,7 +302,11 @@ def queries
294302
"data" => {
295303
"eventBridgeWebhookSubscriptionCreate" => {
296304
"userErrors" => [],
297-
"webhookSubscription" => { "id" => "gid://shopify/WebhookSubscription/12345" },
305+
"webhookSubscription" => {
306+
"id" => "gid://shopify/WebhookSubscription/12345",
307+
"includeFields" => ["field1", "field2"],
308+
"metafieldNamespaces" => ["namespace1", "namespace2"],
309+
},
298310
},
299311
},
300312
},
@@ -459,13 +471,15 @@ def queries
459471
register_add_query:
460472
<<~QUERY,
461473
mutation webhookSubscription {
462-
pubSubWebhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {pubSubProject: "my-project-id", pubSubTopic: "my-topic-id"}) {
474+
pubSubWebhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {pubSubProject: "my-project-id", pubSubTopic: "my-topic-id", includeFields: ["field1", "field2"], metafieldNamespaces: ["namespace1", "namespace2"]}) {
463475
userErrors {
464476
field
465477
message
466478
}
467479
webhookSubscription {
468480
id
481+
includeFields
482+
metafieldNamespaces
469483
}
470484
}
471485
}
@@ -504,7 +518,11 @@ def queries
504518
"data" => {
505519
"pubSubWebhookSubscriptionCreate" => {
506520
"userErrors" => [],
507-
"webhookSubscription" => { "id" => "gid://shopify/WebhookSubscription/12345" },
521+
"webhookSubscription" => {
522+
"id" => "gid://shopify/WebhookSubscription/12345",
523+
"includeFields" => ["field1", "field2"],
524+
"metafieldNamespaces" => ["namespace1", "namespace2"],
525+
},
508526
},
509527
},
510528
},

0 commit comments

Comments
 (0)