Sha256: 11d2a6ef8998cead9060349ad64b6cf825b3ecddab1732fb4c240e1d0a4d30a3

Contents?: true

Size: 964 Bytes

Versions: 3

Compression:

Stored size: 964 Bytes

Contents

describe Email::Provider do
  describe ".for_address" do
    context "with known providers" do
      [
        ["fastmail.com", "Fastmail .com", Email::Provider::Fastmail],
        ["fastmail.fm", "Fastmail .fm", Email::Provider::Fastmail],
        ["gmail.com", "GMail", Email::Provider::GMail],
        ["icloud.com", "Apple Mail icloud.com", Email::Provider::AppleMail],
        ["mac.com", "Apple Mail mac.com", Email::Provider::AppleMail],
        ["me.com", "Apple Mail me.com", Email::Provider::AppleMail]
      ].each do |domain, name, klass|
        it "recognizes #{name} addresses" do
          address = "foo@#{domain}"
          expect(described_class.for_address(address)).to be_a(klass)
        end
      end
    end

    context "with unknown providers" do
      it "returns a default provider" do
        result = described_class.for_address("foo@unknown.com")

        expect(result).to be_a(Email::Provider::Default)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
imap-backup-4.0.5 spec/unit/email/provider_spec.rb
imap-backup-4.0.4 spec/unit/email/provider_spec.rb
imap-backup-4.0.3 spec/unit/email/provider_spec.rb