43 lines
866 B
Ruby
43 lines
866 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
describe Gitlab::Database::ObsoleteIgnoredColumns do
|
|
module Testing
|
|
class MyBase < ApplicationRecord
|
|
end
|
|
|
|
class SomeAbstract < MyBase
|
|
self.abstract_class = true
|
|
|
|
self.table_name = 'projects'
|
|
|
|
self.ignored_columns += %i[unused]
|
|
end
|
|
|
|
class B < MyBase
|
|
self.table_name = 'issues'
|
|
|
|
self.ignored_columns += %i[id other]
|
|
end
|
|
|
|
class A < SomeAbstract
|
|
self.ignored_columns += %i[id also_unused]
|
|
end
|
|
|
|
class C < MyBase
|
|
self.table_name = 'users'
|
|
end
|
|
end
|
|
|
|
subject { described_class.new(Testing::MyBase) }
|
|
|
|
describe '#execute' do
|
|
it 'returns a list of class names and columns pairs' do
|
|
expect(subject.execute).to eq([
|
|
['Testing::A', %w(unused also_unused)],
|
|
['Testing::B', %w(other)]
|
|
])
|
|
end
|
|
end
|
|
end
|