summaryrefslogtreecommitdiff
path: root/spec/migrations/rename_sitemap_namespace_spec.rb
blob: 83f0721c600c1396489f96adecada856f84b5b71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# frozen_string_literal: true

require 'spec_helper'
require Rails.root.join('db', 'post_migrate', '20201102112206_rename_sitemap_namespace.rb')

RSpec.describe RenameSitemapNamespace do
  let(:namespaces) { table(:namespaces) }
  let(:routes) { table(:routes) }
  let(:sitemap_path) { 'sitemap' }

  it 'correctly run #up and #down' do
    create_namespace(sitemap_path)

    reversible_migration do |migration|
      migration.before -> {
        expect(namespaces.pluck(:path)).to contain_exactly(sitemap_path)
      }

      migration.after -> {
        expect(namespaces.pluck(:path)).to contain_exactly(sitemap_path + '0')
      }
    end
  end

  def create_namespace(path)
    namespaces.create!(name: path, path: path).tap do |namespace|
      routes.create!(path: namespace.path, name: namespace.name, source_id: namespace.id, source_type: 'Namespace')
    end
  end
end