Don't depend on user model in migration spec

The User model now has a default value for a field that didn't exist when these
migrations ran.
This commit is contained in:
Sean McGivern 2017-09-06 10:49:24 +01:00 committed by Ruben Davila
parent c3ac731152
commit cd84ce1a1b
2 changed files with 17 additions and 4 deletions

View file

@ -215,9 +215,16 @@ end
# to a specific version of the database where said table is still present.
#
describe Gitlab::BackgroundMigration::MigrateEventsToPushEventPayloads, :migration, schema: 20170825154015 do
let(:user_class) do
Class.new(ActiveRecord::Base) do
self.table_name = 'users'
end
end
let(:migration) { described_class.new }
let(:project) { create(:project_empty_repo) }
let(:author) { create(:user) }
let(:author) { build(:user).becomes(user_class).tap(&:save!).becomes(User) }
let(:namespace) { create(:namespace, owner: author) }
let(:project) { create(:project_empty_repo, namespace: namespace, creator: author) }
# We can not rely on FactoryGirl as the state of Event may change in ways that
# the background migration does not expect, hence we use the Event class of

View file

@ -2,6 +2,12 @@ require 'spec_helper'
require Rails.root.join('db', 'post_migrate', '20170607121233_convert_custom_notification_settings_to_columns')
describe ConvertCustomNotificationSettingsToColumns, :migration do
let(:user_class) do
Class.new(ActiveRecord::Base) do
self.table_name = 'users'
end
end
let(:settings_params) do
[
{ level: 0, events: [:new_note] }, # disabled, single event
@ -19,7 +25,7 @@ describe ConvertCustomNotificationSettingsToColumns, :migration do
events[event] = true
end
user = create(:user)
user = build(:user).becomes(user_class).tap(&:save!)
create_params = { user_id: user.id, level: params[:level], events: events }
notification_setting = described_class::NotificationSetting.create(create_params)
@ -35,7 +41,7 @@ describe ConvertCustomNotificationSettingsToColumns, :migration do
events[event] = true
end
user = create(:user)
user = build(:user).becomes(user_class).tap(&:save!)
create_params = events.merge(user_id: user.id, level: params[:level])
notification_setting = described_class::NotificationSetting.create(create_params)