Sha256: 854c234e4b6ce76e28a5f25c2e1927117759a971d580a7150193e77202541e9b

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

require 'spec_helper'

describe Waddup::Source::AppleMail do
  let(:from) { DateTime.new 2013, 10, 16 }
  let(:to)   { DateTime.new 2013, 10, 17 }

  describe '#events' do
    before do
      subject.stub_shell "osascript -s s -e '#{described_class::SENT_MAIL_SCRIPT}' '16/10/2013 00:00' '17/10/2013 00:00'",
        :output => fixture('sources/apple_mail.results')
    end

    it 'aggregates events' do
      events = subject.events(from, to)

      expect(events.first.label).to eq 'E-mail regarding Waddup'
      expect(events.last.label).to eq  'Another e-mail'

      expect(events.length).to eq 2
    end
  end

  describe '::usable?' do
    context 'when on OSX' do
      before do
        described_class.stub(:osx?).and_return true
      end

      context 'when AppleScript is available' do
        before do
          described_class.stub_shell 'osalang 2>&1', :output => 'AppleScript'
        end

        it { should be_usable }
      end

      context 'when AppleScript is unavailable' do
        before do
          described_class.stub_shell 'osalang 2>&1', :exitstatus => 1
        end

        it { should_not be_usable }
      end
    end

    context 'when on other platforms' do
      before do
        described_class.stub(:osx?).and_return false
      end

      it { should_not be_usable }
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
waddup-0.0.2 spec/waddup/sources/apple_mail_spec.rb