spec/unit/account/connection_spec.rb in imap-backup-1.3.0 vs spec/unit/account/connection_spec.rb in imap-backup-1.4.0

- old
+ new

@@ -7,11 +7,13 @@ def self.folder_config {name: backup_folder} end - let(:imap) { double("Net::IMAP", login: nil, list: imap_folders, disconnect: nil) } + let(:imap) do + double("Net::IMAP", login: nil, disconnect: nil) + end let(:imap_folders) { [] } let(:options) do { username: username, password: "password", @@ -20,13 +22,19 @@ } end let(:local_path) { "local_path" } let(:backup_folders) { [self.class.folder_config] } let(:username) { "username@gmail.com" } + let(:root_info) do + instance_double(Net::IMAP::MailboxList, name: root_name) + end + let(:root_name) { "foo" } before do allow(Net::IMAP).to receive(:new).and_return(imap) + allow(imap).to receive(:list).with("", "") { [root_info] } + allow(imap).to receive(:list).with(root_name, "*") { imap_folders } allow(Imap::Backup::Utils).to receive(:make_folder) end subject { described_class.new(options) } @@ -66,28 +74,30 @@ include_examples "connects to IMAP" end context "#folders" do - let(:imap_folders) { ["imap_folder"] } + let(:imap_folders) do + [instance_double(Net::IMAP::MailboxList)] + end - before { allow(imap).to receive(:list).and_return(imap_folders) } - it "returns the list of folders" do expect(subject.folders).to eq(imap_folders) end end context "#status" do let(:folder) { double("folder", uids: [remote_uid]) } let(:local_uid) { "local_uid" } - let(:serializer) { double("serializer", uids: [local_uid]) } + let(:serializer) do + instance_double(Imap::Backup::Serializer::Mbox, uids: [local_uid]) + end let(:remote_uid) { "remote_uid" } before do allow(Imap::Backup::Account::Folder).to receive(:new).and_return(folder) - allow(Imap::Backup::Serializer::Directory).to receive(:new).and_return(serializer) + allow(Imap::Backup::Serializer::Mbox).to receive(:new) { serializer } end it "should return the names of folders" do expect(subject.status[0][:name]).to eq(self.class.backup_folder) end @@ -125,10 +135,12 @@ expect(downloader).to have_received(:run) end end context "without supplied backup_folders" do - let(:imap_folders) { [double(name: "foo")] } + let(:imap_folders) do + [instance_double(Net::IMAP::MailboxList, name: "foo")] + end before do allow(Imap::Backup::Account::Folder).to receive(:new). with(subject, "foo").and_return(folder) allow(Imap::Backup::Serializer::Mbox).to receive(:new).