spec/unit/imap/backup/account/folder_spec.rb in imap-backup-4.2.2 vs spec/unit/imap/backup/account/folder_spec.rb in imap-backup-5.0.0
- old
+ new
@@ -10,11 +10,14 @@
instance_double(
Imap::Backup::Client::Default,
append: append_response,
create: nil,
examine: nil,
- responses: responses
+ expunge: nil,
+ responses: responses,
+ select: nil,
+ uid_store: nil
)
end
let(:connection) do
instance_double(Imap::Backup::Account::Connection, client: client)
end
@@ -25,16 +28,15 @@
let(:missing_mailbox_error) do
Net::IMAP::NoResponseError.new(missing_mailbox_response)
end
let(:responses) { [] }
let(:append_response) { nil }
+ let(:uids) { [5678, 123] }
- describe "#uids" do
- let(:uids) { [5678, 123] }
+ before { allow(client).to receive(:uid_search) { uids } }
- before { allow(client).to receive(:uid_search) { uids } }
-
+ describe "#uids" do
it "lists available messages" do
expect(subject.uids).to eq(uids.reverse)
end
context "with missing mailboxes" do
@@ -229,9 +231,28 @@
it "set the new uid validity" do
subject.append(message)
expect(subject.uid_validity).to eq(1)
+ end
+ end
+
+ describe "#clear" do
+ before do
+ subject.clear
+ end
+
+ it "uses select to have read-write access" do
+ expect(client).to have_received(:select)
+ end
+
+ it "marks all emails as deleted" do
+ expect(client).
+ to have_received(:uid_store).with(uids.sort, "+FLAGS", [:Deleted])
+ end
+
+ it "deletes marked emails" do
+ expect(client).to have_received(:expunge)
end
end
end
# rubocop:enable RSpec/PredicateMatcher