Added credits_awarded to badges (#13073)
* Added credits_awarded to badges * Data update script for updating credits_awarded * Data update script for updating credits_awarded * Added null: false to badges.credits_awarded
This commit is contained in:
parent
7c31a9cc98
commit
aca08cfb11
4 changed files with 37 additions and 0 deletions
|
|
@ -0,0 +1,5 @@
|
|||
class AddCreditsAwardedToBadges < ActiveRecord::Migration[6.0]
|
||||
def change
|
||||
add_column :badges, :credits_awarded, :integer, default: 0, null: false
|
||||
end
|
||||
end
|
||||
|
|
@ -197,6 +197,7 @@ ActiveRecord::Schema.define(version: 2021_03_23_190443) do
|
|||
create_table "badges", force: :cascade do |t|
|
||||
t.string "badge_image"
|
||||
t.datetime "created_at", null: false
|
||||
t.integer "credits_awarded", default: 0, null: false
|
||||
t.string "description", null: false
|
||||
t.string "slug", null: false
|
||||
t.string "title", null: false
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
module DataUpdateScripts
|
||||
class FillBadgesCreditsAwarded
|
||||
def run
|
||||
return unless SiteConfig.dev_to?
|
||||
|
||||
Badge.update_all("credits_awarded = 5")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
require "rails_helper"
|
||||
require Rails.root.join(
|
||||
"lib/data_update_scripts/20210322092753_fill_badges_credits_awarded.rb",
|
||||
)
|
||||
|
||||
describe DataUpdateScripts::FillBadgesCreditsAwarded do
|
||||
it "updates badges on dev.to" do
|
||||
allow(SiteConfig).to receive(:dev_to?).and_return(true)
|
||||
badge = create(:badge, credits_awarded: 0)
|
||||
expect do
|
||||
described_class.new.run
|
||||
end.to change { badge.reload.credits_awarded }.from(0).to(5)
|
||||
end
|
||||
|
||||
it "doesn't update badges on other forems" do
|
||||
allow(SiteConfig).to receive(:dev_to?).and_return(false)
|
||||
badge = create(:badge, credits_awarded: 0)
|
||||
expect do
|
||||
described_class.new.run
|
||||
end.not_to change { badge.reload.credits_awarded }
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Reference in a new issue