diff options
Diffstat (limited to 'spec/migrations/cap_designs_filename_length_to_new_limit_spec.rb')
-rw-r--r-- | spec/migrations/cap_designs_filename_length_to_new_limit_spec.rb | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/spec/migrations/cap_designs_filename_length_to_new_limit_spec.rb b/spec/migrations/cap_designs_filename_length_to_new_limit_spec.rb deleted file mode 100644 index 702f2e6d9bd..00000000000 --- a/spec/migrations/cap_designs_filename_length_to_new_limit_spec.rb +++ /dev/null @@ -1,62 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' -require_migration! - -RSpec.describe CapDesignsFilenameLengthToNewLimit, :migration, schema: 20200528125905 do - let(:namespaces) { table(:namespaces) } - let(:projects) { table(:projects) } - let(:issues) { table(:issues) } - let(:designs) { table(:design_management_designs) } - - let(:filename_below_limit) { generate_filename(254) } - let(:filename_at_limit) { generate_filename(255) } - let(:filename_above_limit) { generate_filename(256) } - - let!(:namespace) { namespaces.create!(name: 'foo', path: 'foo') } - let!(:project) { projects.create!(name: 'gitlab', path: 'gitlab-org/gitlab', namespace_id: namespace.id) } - let!(:issue) { issues.create!(description: 'issue', project_id: project.id) } - - def generate_filename(length, extension: '.png') - name = 'a' * (length - extension.length) - - "#{name}#{extension}" - end - - def create_design(filename) - designs.create!( - issue_id: issue.id, - project_id: project.id, - filename: filename - ) - end - - it 'correctly sets filenames that are above the limit' do - designs = [ - filename_below_limit, - filename_at_limit, - filename_above_limit - ].map(&method(:create_design)) - - migrate! - - designs.each(&:reload) - - expect(designs[0].filename).to eq(filename_below_limit) - expect(designs[1].filename).to eq(filename_at_limit) - expect(designs[2].filename).to eq([described_class::MODIFIED_NAME, designs[2].id, described_class::MODIFIED_EXTENSION].join) - end - - it 'runs after filename limit has been set' do - # This spec file uses the `schema:` keyword to run these tests - # against a schema version before the one that sets the limit, - # as otherwise we can't create the design data with filenames greater - # than the limit. - # - # For this test, we migrate any skipped versions up to this migration. - migration_context.migrate(20200602013901) - - create_design(filename_at_limit) - expect { create_design(filename_above_limit) }.to raise_error(ActiveRecord::StatementInvalid) - end -end |