Commit 5c9874b4 authored by Etienne Baqué's avatar Etienne Baqué

Added migration to add new plans

Added migration to add new plans
parent dd53c00c
---
title: Migration to add new Premium and Ultimate plan records
merge_request: 53465
author:
type: added
# frozen_string_literal: true
class AddNewPostEoaPlans < ActiveRecord::Migration[6.0]
DOWNTIME = false
def up
execute "INSERT INTO plans (name, title, created_at, updated_at) VALUES ('premium', 'Premium (Formerly Silver)', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)"
execute "INSERT INTO plans (name, title, created_at, updated_at) VALUES ('ultimate', 'Ultimate (Formerly Gold)', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)"
end
def down
execute "DELETE FROM plans WHERE name IN ('premium', 'ultimate')"
end
end
4df2229fca7652cb836c867b621da91f1194899c50bb0a8be2fbae58f29dc788
\ No newline at end of file
# frozen_string_literal: true
require 'spec_helper'
require Rails.root.join('db', 'post_migrate', '20210205104425_add_new_post_eoa_plans.rb')
RSpec.describe AddNewPostEoaPlans do
let(:plans) { table(:plans) }
subject(:migration) { described_class.new }
describe '#up' do
it 'creates the two new records' do
expect { migration.up }.to change { plans.count }.by(2)
new_plans = plans.last(2)
expect(new_plans.map(&:name)).to contain_exactly('premium', 'ultimate')
end
end
describe '#down' do
it 'removes these two new records' do
plans.create!(name: 'premium', title: 'Premium (Formerly Silver)')
plans.create!(name: 'ultimate', title: 'Ultimate (Formerly Gold)')
expect { migration.down }.to change { plans.count }.by(-2)
expect(plans.find_by(name: 'premium')).to be_nil
expect(plans.find_by(name: 'ultimate')).to be_nil
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment