Sha256: 1360191e197224ac1b02ea4ff996d5dad402c29f7a6746beeb8e45fd61392bb4

Contents?: true

Size: 1.33 KB

Versions: 3

Compression:

Stored size: 1.33 KB

Contents

require 'spec_helper'

describe ActiveEncode::Input do
  subject { described_class.new }

  describe 'attributes' do
    it { is_expected.to respond_to(:id, :url) }
    it { is_expected.to respond_to(:state, :errors, :created_at, :updated_at) }
    it { is_expected.to respond_to(:width, :height, :frame_rate, :checksum,
                                   :audio_codec, :video_codec, :audio_bitrate, :video_bitrate) }
  end

  describe '#valid?' do
    let(:valid_input) do
      described_class.new.tap do |obj|
        obj.id = "1"
        obj.url = "file:///tmp/video.mp4"
        obj.created_at = Time.now
        obj.updated_at = Time.now
      end
    end

    it 'returns true when conditions met' do
      expect(valid_input).to be_valid
    end

    it 'returns false when conditions not met' do
      expect(valid_input.tap { |obj| obj.id = nil }).not_to be_valid
      expect(valid_input.tap { |obj| obj.url = nil }).not_to be_valid
      expect(valid_input.tap { |obj| obj.created_at = nil }).not_to be_valid
      expect(valid_input.tap { |obj| obj.created_at = "today" }).not_to be_valid
      expect(valid_input.tap { |obj| obj.updated_at = nil }).not_to be_valid
      expect(valid_input.tap { |obj| obj.updated_at = "today" }).not_to be_valid
      expect(valid_input.tap { |obj| obj.created_at = Time.now }).not_to be_valid
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
active_encode-0.5.0 spec/units/input_spec.rb
active_encode-0.4.1 spec/units/input_spec.rb
active_encode-0.4 spec/units/input_spec.rb