Sha256: 79dd3d29283feabce8389d6df838860bfde0b0989f0dc2df251a06a13ca8a67f

Contents?: true

Size: 1.07 KB

Versions: 4

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

# rubocop:disable Metrics/BlockLength
module MovieOrganizer
  RSpec.describe Video, type: :lib do
    include_context 'media_shared'

    let(:filename) do
      create_test_file(
        filename: 'Vacation in Florida',
        extension: 'mp4'
      ).first
    end
    let(:video) { Video.new(filename, default_options) }

    context '#new' do
      it 'returns a child of the Media class' do
        expect(video).to be_a(Media)
      end

      it 'is a Video' do
        expect(video).to be_a(Video)
      end

      it 'sets filename accessor' do
        expect(video.filename).to eq(filename)
      end
    end

    context '.processed_filename' do
      it 'returns a string' do
        expect(video.processed_filename).to be_a(String)
      end
    end

    context '.process!' do
      it 'moves the file to the configured location' do
        fc = FileCopier.new('/tmp/bogus', '/tmp/bogus2', default_options)
        expect(fc).to receive(:copy).and_return(nil)
        video.process!(fc)
      end
    end
  end
end
# rubocop:enable Metrics/BlockLength

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
movie_organizer-0.1.11 spec/lib/movie_organizer/video_spec.rb
movie_organizer-0.1.10 spec/lib/movie_organizer/video_spec.rb
movie_organizer-0.1.9 spec/lib/movie_organizer/video_spec.rb
movie_organizer-0.1.8 spec/lib/movie_organizer/video_spec.rb