0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-23 01:40:29 +01:00
discourse-custom-wizard/spec/plugin_helper.rb

59 Zeilen
1,4 KiB
Ruby

# frozen_string_literal: true
2020-12-04 08:06:33 +01:00
if ENV['SIMPLECOV']
require 'simplecov'
2019-12-09 09:14:31 +01:00
2020-12-04 08:06:33 +01:00
SimpleCov.start do
root "plugins/discourse-custom-wizard"
track_files "plugins/discourse-custom-wizard/**/*.rb"
2021-05-17 09:57:09 +02:00
add_filter { |src| src.filename =~ /(\/spec\/|\/db\/|plugin\.rb|api|gems)/ }
2021-03-11 06:38:12 +01:00
SimpleCov.minimum_coverage 80
2020-12-04 08:06:33 +01:00
end
end
require 'oj'
Oj.default_options = Oj.default_options.merge(cache_str: -1)
2021-03-11 06:38:12 +01:00
require 'rails_helper'
2021-09-07 14:06:13 +02:00
def get_wizard_fixture(path)
JSON.parse(
File.open(
"#{Rails.root}/plugins/discourse-custom-wizard/spec/fixtures/#{path}.json"
).read
).with_indifferent_access
end
def authenticate_pro
CustomWizard::ProAuthentication.any_instance.stubs(:active?).returns(true)
end
def enable_pro
CustomWizard::Pro.any_instance.stubs(:subscribed?).returns(true)
end
def disable_pro
CustomWizard::Pro.any_instance.stubs(:subscribed?).returns(false)
end
def valid_subscription
{
product_id: "prod_CBTNpi3fqWWkq0",
price_id: "price_id",
price_nickname: "business"
}
end
def invalid_subscription
{
product_id: "prod_CBTNpi3fqWWkq0",
price_id: "price_id"
}
end
def stub_subscription_request(status, subscription)
authenticate_pro
pro = CustomWizard::Pro.new
stub_request(:get, "https://#{pro.server}/subscription-server/user-subscriptions/#{pro.subscription_type}/#{pro.client_name}").to_return(status: status, body: { subscriptions: [subscription] }.to_json)
end