Sha256: 6b341c2eb1c3f95c74e6e01e84d1c5f0dc1f0b35b2dd6847084b4e0516165c12

Contents?: true

Size: 1.14 KB

Versions: 1

Compression:

Stored size: 1.14 KB

Contents

# coding: utf-8
require 'spec_helper'
require 'itunes-client'

include Itunes

describe Application do
  let(:app) { described_class.instance }

  describe '#initialize' do
    it 'raises an Error' do
      expect { described_class.new }.to raise_error
    end
  end

  describe '#add' do
    subject(:add) { app.add(file_name) }

    let(:file_name) { 'foo.wav' }
    let(:new_persistent_id) { 'foo' }

    before do
      app.should_receive(:execute_script).
        with('application/add.scpt', file_name).and_return(new_persistent_id)
      Track.should_receive(:find_by).
        with(persistent_id: new_persistent_id).
        and_return([Track.new(persistent_id: new_persistent_id)])
    end

    it 'returns an array of track instance' do
      expect(add).to be_a(Track)
      expect(add.persistent_id).to eq(new_persistent_id)
    end
  end

  describe '#pause' do
    it 'calls pause.scpt' do
      app.should_receive(:execute_script).with('application/pause.scpt')
      app.pause
    end
  end

  describe '#stop' do
    it 'calls stop.scpt' do
      app.should_receive(:execute_script).with('application/stop.scpt')
      app.stop
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
itunes-client-0.0.6 spec/itunes/application_spec.rb