Sha256: 763cec84cded90a723d927f6e8cf56a09bf662b792bece97e7b7582b238750ff

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

require 'spec_helper'
require 'dragonfly-activerecord/migration'

describe Dragonfly::ActiveRecord::Migration do
  subject do
    Class.new(ActiveRecord::Migration) do
      include Dragonfly::ActiveRecord::Migration
    end
  end

  it 'is a proper migration' do
    expect(subject.ancestors).to include(ActiveRecord::Migration)
  end

  it 'applies cleanly' do
    silence_stream(STDOUT) { subject.new.up }
  end

  it 'rolls back cleanly' do
    silence_stream(STDOUT) { subject.new.up ; subject.new.down }
  end

  context 'when applied' do
    let(:model_class) { Class.new(ActiveRecord::Base) }

    before do
      silence_stream(STDOUT) { subject.new.up }
    end

    it 'result in a functional chunks model' do
      model_class.table_name = 'storage_chunks'
      model_class.create(file_id: 123, idx: 456, encoded_data: 'foobar')
      expect(model_class.count).to eq(1)
    end
    
    it 'result in a functional files model' do
      model_class.table_name = 'storage_files'
      model_class.create(metadata: 'foobar', accessed_at: Time.now)
      expect(model_class.count).to eq(1)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dragonfly-activerecord-1.0.0 spec/dragonfly-activerecord/migration_spec.rb