Refactored all site config default hardcoded value in rspec test (#12315)

* Refactored all site config default hardcoded value in rspec test

* Remove Liquid::BlockBody patch (#12313)

* Refactored all site config default hardcoded value in rspec test

* Added seperate function to fetch default site confif value and using it in specs

Co-authored-by: rhymes <rhymes@hey.com>
This commit is contained in:
Shilpi Agrawal 2021-01-18 19:53:40 +05:30 committed by GitHub
parent 65bfc640ce
commit 92f191445b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 23 deletions

View file

@ -226,4 +226,9 @@ class SiteConfig < RailsSettings::Base
"present"
end
singleton_class.__send__(:alias_method, :apple_secret, :apple_key)
# To get default values
def self.get_default(field)
get_field(field).dig(:default)
end
end

View file

@ -347,7 +347,7 @@ RSpec.describe "/admin/config", type: :request do
end
it "updates logo_png" do
expected_default_image_url = URL.local_image("icon.png")
expected_default_image_url = SiteConfig.get_default(:logo_png)
expected_image_url = "https://dummyimage.com/300x300.png"
expect do
post "/admin/config", params: { site_config: { logo_png: expected_image_url },
@ -441,7 +441,7 @@ RSpec.describe "/admin/config", type: :request do
end
it "updates mascot_image_url" do
expected_default_image_url = URL.local_image("mascot.png")
expected_default_image_url = SiteConfig.get_default(:mascot_image_url)
expected_image_url = "https://dummyimage.com/300x300.png"
expect do
post "/admin/config", params: { site_config: { mascot_image_url: expected_image_url },
@ -457,7 +457,7 @@ RSpec.describe "/admin/config", type: :request do
end
it "updates the mascot_footer_image_width" do
expected_default_mascot_footer_image_width = 52
expected_default_mascot_footer_image_width = SiteConfig.get_default(:mascot_footer_image_width)
expected_mascot_footer_image_width = 1002
expect(SiteConfig.mascot_footer_image_width).to eq(expected_default_mascot_footer_image_width)
@ -469,7 +469,7 @@ RSpec.describe "/admin/config", type: :request do
end
it "updates the mascot_footer_image_height" do
expected_default_mascot_footer_image_height = 120
expected_default_mascot_footer_image_height = SiteConfig.get_default(:mascot_footer_image_height)
expected_mascot_footer_image_height = 3002
expect(SiteConfig.mascot_footer_image_height).to eq(expected_default_mascot_footer_image_height)
@ -646,66 +646,75 @@ RSpec.describe "/admin/config", type: :request do
describe "Rate Limits and spam" do
it "updates rate_limit_follow_count_daily" do
default_value = SiteConfig.get_default(:rate_limit_follow_count_daily)
expect do
post "/admin/config", params: { site_config: { rate_limit_follow_count_daily: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_follow_count_daily).from(500).to(3)
end.to change(SiteConfig, :rate_limit_follow_count_daily).from(default_value).to(3)
end
it "updates rate_limit_comment_creation" do
default_value = SiteConfig.get_default(:rate_limit_comment_creation)
expect do
post "/admin/config", params: { site_config: { rate_limit_comment_creation: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_comment_creation).from(9).to(3)
end.to change(SiteConfig, :rate_limit_comment_creation).from(default_value).to(3)
end
it "updates rate_limit_published_article_creation" do
default_value = SiteConfig.get_default(:rate_limit_published_article_creation)
expect do
post "/admin/config", params: { site_config: { rate_limit_published_article_creation: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_published_article_creation).from(9).to(3)
end.to change(SiteConfig, :rate_limit_published_article_creation).from(default_value).to(3)
end
it "updates rate_limit_published_article_antispam_creation" do
default_value = SiteConfig.get_default(:rate_limit_published_article_antispam_creation)
expect do
post "/admin/config", params: { site_config: { rate_limit_published_article_antispam_creation: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_published_article_antispam_creation).from(1).to(3)
end.to change(SiteConfig, :rate_limit_published_article_antispam_creation).from(default_value).to(3)
end
it "updates rate_limit_organization_creation" do
default_value = SiteConfig.get_default(:rate_limit_organization_creation)
expect do
post "/admin/config", params: { site_config: { rate_limit_organization_creation: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_organization_creation).from(1).to(3)
end.to change(SiteConfig, :rate_limit_organization_creation).from(default_value).to(3)
end
it "updates rate_limit_image_upload" do
default_value = SiteConfig.get_default(:rate_limit_image_upload)
expect do
post "/admin/config", params: { site_config: { rate_limit_image_upload: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_image_upload).from(9).to(3)
end.to change(SiteConfig, :rate_limit_image_upload).from(default_value).to(3)
end
it "updates rate_limit_email_recipient" do
default_value = SiteConfig.get_default(:rate_limit_email_recipient)
expect do
post "/admin/config", params: { site_config: { rate_limit_email_recipient: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_email_recipient).from(5).to(3)
end.to change(SiteConfig, :rate_limit_email_recipient).from(default_value).to(3)
end
it "updates rate_limit_user_subscription_creation" do
default_value = SiteConfig.get_default(:rate_limit_user_subscription_creation)
expect do
post "/admin/config", params: { site_config: { rate_limit_user_subscription_creation: 1 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_user_subscription_creation).from(3).to(1)
end.to change(SiteConfig, :rate_limit_user_subscription_creation).from(default_value).to(1)
end
it "updates rate_limit_article_update" do
default_value = SiteConfig.get_default(:rate_limit_article_update)
expect do
post "/admin/config", params: { site_config: { rate_limit_article_update: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_article_update).from(30).to(3)
end.to change(SiteConfig, :rate_limit_article_update).from(default_value).to(3)
end
it "updates rate_limit_user_update" do
@ -716,31 +725,35 @@ RSpec.describe "/admin/config", type: :request do
end
it "updates rate_limit_feedback_message_creation" do
default_value = SiteConfig.get_default(:rate_limit_feedback_message_creation)
expect do
post "/admin/config", params: { site_config: { rate_limit_feedback_message_creation: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_feedback_message_creation).from(5).to(3)
end.to change(SiteConfig, :rate_limit_feedback_message_creation).from(default_value).to(3)
end
it "updates rate_limit_listing_creation" do
default_value = SiteConfig.get_default(:rate_limit_listing_creation)
expect do
post "/admin/config", params: { site_config: { rate_limit_listing_creation: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_listing_creation).from(1).to(3)
end.to change(SiteConfig, :rate_limit_listing_creation).from(default_value).to(3)
end
it "updates rate_limit_reaction_creation" do
default_value = SiteConfig.get_default(:rate_limit_reaction_creation)
expect do
post "/admin/config", params: { site_config: { rate_limit_reaction_creation: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_reaction_creation).from(10).to(3)
end.to change(SiteConfig, :rate_limit_reaction_creation).from(default_value).to(3)
end
it "updates rate_limit_send_email_confirmation" do
default_value = SiteConfig.get_default(:rate_limit_send_email_confirmation)
expect do
post "/admin/config", params: { site_config: { rate_limit_send_email_confirmation: 3 },
confirmation: confirmation_message }
end.to change(SiteConfig, :rate_limit_send_email_confirmation).from(2).to(3)
end.to change(SiteConfig, :rate_limit_send_email_confirmation).from(default_value).to(3)
end
it "updates spam_trigger_terms" do
@ -884,12 +897,7 @@ RSpec.describe "/admin/config", type: :request do
describe "Credits" do
it "updates the credit prices", :aggregate_failures do
original_prices = {
small: 500,
medium: 400,
large: 300,
xlarge: 250
}
original_prices = SiteConfig.get_default(:credit_prices_in_cents)
SiteConfig.credit_prices_in_cents = original_prices
SiteConfig.credit_prices_in_cents.each_key do |size|