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).