1
0
Fork 0

Merge pull request #246 from paviliondev/multiple_subscriptions_fix

Fix multiple subscriptions sort
Dieser Commit ist enthalten in:
Robert 2023-05-19 09:38:02 +01:00 committet von GitHub
Commit 6dbd8f7c4f
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23
3 geänderte Dateien mit 18 neuen und 7 gelöschten Zeilen

Datei anzeigen

@ -117,7 +117,7 @@ class CustomWizard::Subscription
end end
id_and_slug = ids_and_slugs.sort do |a, b| id_and_slug = ids_and_slugs.sort do |a, b|
PRODUCT_HIERARCHY[a[:slug]] - PRODUCT_HIERARCHY[b[:slug]] PRODUCT_HIERARCHY.index(b[:slug]) - PRODUCT_HIERARCHY.index(a[:slug])
end.first end.first
@product_id = id_and_slug[:id] @product_id = id_and_slug[:id]

Datei anzeigen

@ -1,7 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
# name: discourse-custom-wizard # name: discourse-custom-wizard
# about: Forms for Discourse. Better onboarding, structured posting, data enrichment, automated actions and much more. # about: Forms for Discourse. Better onboarding, structured posting, data enrichment, automated actions and much more.
# version: 2.4.0 # version: 2.4.1
# authors: Angus McLeod, Faizaan Gagan, Robert Barrow, Keegan George, Kaitlin Maddever # authors: Angus McLeod, Faizaan Gagan, Robert Barrow, Keegan George, Kaitlin Maddever
# url: https://github.com/paviliondev/discourse-custom-wizard # url: https://github.com/paviliondev/discourse-custom-wizard
# contact_emails: development@pavilion.tech # contact_emails: development@pavilion.tech

Datei anzeigen

@ -78,17 +78,18 @@ describe CustomWizard::Subscription do
end end
context "with subscriptions" do context "with subscriptions" do
def get_subscription_result(product_id) def get_subscription_result(product_ids)
result = SubscriptionClient::Subscriptions::Result.new result = SubscriptionClient::Subscriptions::Result.new
result.supplier = SubscriptionClientSupplier.new(product_slugs) result.supplier = SubscriptionClientSupplier.new(product_slugs)
result.resource = SubscriptionClientResource.new result.resource = SubscriptionClientResource.new
result.subscriptions = [SubscriptionClientSubscription.new(product_id)] result.subscriptions = product_ids.map { |product_id| SubscriptionClientSubscription.new(product_id) }
result.products = product_slugs result.products = product_slugs
result result
end end
let!(:business_subscription_result) { get_subscription_result(business_product_id) } let!(:business_subscription_result) { get_subscription_result([business_product_id]) }
let!(:standard_subscription_result) { get_subscription_result(standard_product_id) } let!(:standard_subscription_result) { get_subscription_result([standard_product_id]) }
let!(:community_subscription_result) { get_subscription_result(community_product_id) } let!(:community_subscription_result) { get_subscription_result([community_product_id]) }
let!(:multiple_subscription_result) { get_subscription_result([community_product_id, business_product_id]) }
it "handles mapped values" do it "handles mapped values" do
SubscriptionClient.stubs(:find_subscriptions).returns(standard_subscription_result) SubscriptionClient.stubs(:find_subscriptions).returns(standard_subscription_result)
@ -143,6 +144,16 @@ describe CustomWizard::Subscription do
expect(described_class.includes?(:action, :type, 'create_category')).to eq(true) expect(described_class.includes?(:action, :type, 'create_category')).to eq(true)
end end
end end
context "with multiple subscriptions" do
before do
SubscriptionClient.stubs(:find_subscriptions).returns(multiple_subscription_result)
end
it "detects correct type in hierarchy" do
expect(described_class.type).to eq(:business)
end
end
end end
end end
end end