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