Sha256: 129f18eb7c35189a753d214cc8860e09e61ff7275543dac19ced315ad233a6dc
Contents?: true
Size: 1.2 KB
Versions: 2
Compression:
Stored size: 1.2 KB
Contents
require "spec_helper" describe Imap::Backup::Downloader do describe "#run" do let(:message) { {"RFC822" => "blah"} } let(:folder) { double("Imap::Backup::Account::Folder", fetch: message, name: "folder") } let(:folder_uids) { ["111", "222", "333"] } let(:serializer) { double("Imap::Backup::Serializer", save: nil) } let(:serializer_uids) { ["222"] } subject { described_class.new(folder, serializer) } before do allow(folder).to receive(:uids).and_return(folder_uids) allow(serializer).to receive(:uids).and_return(serializer_uids) allow(folder).to receive(:fetch).with("333").and_return(nil) subject.run end context "#run" do context "fetched messages" do it "are saved" do expect(serializer).to have_received(:save).with("111", message) end end context "messages which are already present" do specify "are skipped" do expect(serializer).to_not have_received(:save).with("222", anything) end end context "failed fetches" do specify "are skipped" do expect(serializer).to_not have_received(:save).with("333", anything) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
imap-backup-1.3.0 | spec/unit/downloader_spec.rb |
imap-backup-1.2.3 | spec/unit/downloader_spec.rb |