Sha256: d21ccefbcc62f4d63da7af37c3070132333226917416e681adde9df861361e36

Contents?: true

Size: 1.49 KB

Versions: 1

Compression:

Stored size: 1.49 KB

Contents

require 'spec_helper'

shared_examples_for "any consumer" do

  it "should login" do
    garlenko.connect!
    garlenko.should be_connected
  end

  it "should NOT login with invalid data" do
    garlenko.password = "INVALID"
    garlenko.connect!
    garlenko.should_not be_connected
  end

  it "should fetch the contacts" do
    contacts = garlenko.contacts
    contacts.should be_a_kind_of(Array)
    contacts.should_not be_empty
    contact = contacts.first
    contact[:email].should_not be_nil
  end
end

describe Garlenko do
  context "against Gmail" do

    let(:garlenko) do
      gmail = load_credentials.gmail
      Garlenko.new :gmail, gmail["username"], gmail['password']
    end

    it "should construct a valid garlenko consumer" do
      garlenko.should be_a_kind_of(Garlenko::Gmail)
    end

    it_should_behave_like "any consumer"
  end

  context "against Live/Hotmail and the like" do

    let(:garlenko) do
      live = load_credentials.live
      Garlenko.new :live, live["username"], live['password']
    end

    it "should construct a valid garlenko consumer" do
      garlenko.should be_a_kind_of(Garlenko::Live)
    end

    it_should_behave_like "any consumer"
  end


  context "against Yahoo" do

    let(:garlenko) do
      yahoo = load_credentials.yahoo
      Garlenko.new :yahoo, yahoo["username"], yahoo['password']
    end

    it "should construct a valid garlenko consumer" do
      garlenko.should be_a_kind_of(Garlenko::Yahoo)
    end

    it_should_behave_like "any consumer"
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
garlenko-0.0.2 spec/lib/garlenko_spec.rb