Skip to content

Commit

Permalink
consolidate adding new webhook test, reduces redundancy
Browse files Browse the repository at this point in the history
  • Loading branch information
andy-liuu committed Nov 4, 2024
1 parent a0c039d commit 6dcfdf7
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 39 deletions.
45 changes: 12 additions & 33 deletions test/webhooks/registry_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -60,28 +60,29 @@ def setup
assert_nil(update_registration_response.body)
end

define_method("test_#{protocol}_registration_add_and_update_on_#{address}") do
define_method("test_#{protocol}_add_registration_with_address_#{address}") do
do_registration_test(
queries[protocol][:check_empty_response],
queries[protocol][:register_add_query],
queries[protocol][:register_add_response],
protocol,
address,
fields: ["field1", "field2"],
metafield_namespaces: ["namespace1", "namespace2"],
)
end

define_method("test_#{protocol}_registration_with_fields_add_and_update_on_#{address}") do
# add webhook
define_method("test_#{protocol}_update_registration_address_with_original_address_#{address}") do
do_registration_test(
queries[protocol][:check_empty_response],
queries[protocol][:register_add_query_with_fields],
queries[protocol][:register_add_with_fields_response],
queries[protocol][:check_existing_response],
queries[protocol][:register_update_query],
queries[protocol][:register_update_response],
protocol,
address,
fields: "field1, field2",
address + "-updated",
)
end

# update webhook fields
define_method("test_#{protocol}_update_registration_fields_with_address_#{address}") do
do_registration_test(
queries[protocol][:check_existing_response],
queries[protocol][:register_update_query_with_fields],
Expand All @@ -92,18 +93,7 @@ def setup
)
end

define_method("test_#{protocol}_registration_with_fields_array_add_and_update_on_#{address}") do
# add webhook
do_registration_test(
queries[protocol][:check_empty_response],
queries[protocol][:register_add_query_with_fields],
queries[protocol][:register_add_with_fields_response],
protocol,
address,
fields: ["field1", "field2"],
)

# update webhook fields
define_method("test_#{protocol}_update_registration_fields_array_with_address_#{address}") do
do_registration_test(
queries[protocol][:check_existing_response],
queries[protocol][:register_update_query_with_fields],
Expand All @@ -114,18 +104,7 @@ def setup
)
end

define_method("test_#{protocol}_registration_with_metafield_namespaces_add_and_update_on_#{address}") do
# add webhook
do_registration_test(
queries[protocol][:check_empty_response],
queries[protocol][:register_add_query_with_metafield_namespaces],
queries[protocol][:register_add_with_metafield_namespaces_response],
protocol,
address,
metafield_namespaces: ["namespace1", "namespace2"],
)

# update webhook metafield namespaces
define_method("test_#{protocol}_update_registration_metafield_namespaces_with_address_#{address}") do
do_registration_test(
queries[protocol][:check_existing_response],
queries[protocol][:register_update_query_with_metafield_namespaces],
Expand Down
30 changes: 24 additions & 6 deletions test/webhooks/registry_test_queries.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,15 @@ def queries
register_add_query:
<<~QUERY,
mutation webhookSubscription {
webhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {callbackUrl: "https://app-address.com/test-webhooks"}) {
webhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {callbackUrl: "https://app-address.com/test-webhooks", includeFields: ["field1", "field2"], metafieldNamespaces: ["namespace1", "namespace2"]}) {
userErrors {
field
message
}
webhookSubscription {
id
includeFields
metafieldNamespaces
}
}
}
Expand Down Expand Up @@ -84,7 +86,11 @@ def queries
"data" => {
"webhookSubscriptionCreate" => {
"userErrors" => [],
"webhookSubscription" => { "id" => "gid://shopify/WebhookSubscription/12345" },
"webhookSubscription" => {
"id" => "gid://shopify/WebhookSubscription/12345",
"includeFields" => ["field1", "field2"],
"metafieldNamespaces" => ["namespace1", "namespace2"],
},
},
},
},
Expand Down Expand Up @@ -249,13 +255,15 @@ def queries
register_add_query:
<<~QUERY,
mutation webhookSubscription {
eventBridgeWebhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {arn: "test-webhooks"}) {
eventBridgeWebhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {arn: "test-webhooks", includeFields: ["field1", "field2"], metafieldNamespaces: ["namespace1", "namespace2"]}) {
userErrors {
field
message
}
webhookSubscription {
id
includeFields
metafieldNamespaces
}
}
}
Expand Down Expand Up @@ -294,7 +302,11 @@ def queries
"data" => {
"eventBridgeWebhookSubscriptionCreate" => {
"userErrors" => [],
"webhookSubscription" => { "id" => "gid://shopify/WebhookSubscription/12345" },
"webhookSubscription" => {
"id" => "gid://shopify/WebhookSubscription/12345",
"includeFields" => ["field1", "field2"],
"metafieldNamespaces" => ["namespace1", "namespace2"],
},
},
},
},
Expand Down Expand Up @@ -459,13 +471,15 @@ def queries
register_add_query:
<<~QUERY,
mutation webhookSubscription {
pubSubWebhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {pubSubProject: "my-project-id", pubSubTopic: "my-topic-id"}) {
pubSubWebhookSubscriptionCreate(topic: SOME_TOPIC, webhookSubscription: {pubSubProject: "my-project-id", pubSubTopic: "my-topic-id", includeFields: ["field1", "field2"], metafieldNamespaces: ["namespace1", "namespace2"]}) {
userErrors {
field
message
}
webhookSubscription {
id
includeFields
metafieldNamespaces
}
}
}
Expand Down Expand Up @@ -504,7 +518,11 @@ def queries
"data" => {
"pubSubWebhookSubscriptionCreate" => {
"userErrors" => [],
"webhookSubscription" => { "id" => "gid://shopify/WebhookSubscription/12345" },
"webhookSubscription" => {
"id" => "gid://shopify/WebhookSubscription/12345",
"includeFields" => ["field1", "field2"],
"metafieldNamespaces" => ["namespace1", "namespace2"],
},
},
},
},
Expand Down

0 comments on commit 6dcfdf7

Please sign in to comment.