2020-03-15 16:51:13 +00:00
|
|
|
require "spec_helper"
|
|
|
|
|
|
|
|
RSpec.describe Pigeon::Message do
|
|
|
|
before(:each) do
|
|
|
|
Pigeon::Storage.reset
|
2020-03-24 12:39:32 +00:00
|
|
|
Pigeon::LocalIdentity.reset
|
2020-03-15 16:51:13 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def create_message(params)
|
|
|
|
draft = Pigeon::Draft.create(kind: SecureRandom.uuid)
|
|
|
|
params.map { |(k, v)| draft[k] = v }
|
|
|
|
Pigeon::Message.publish(draft)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "creates a bundle" do
|
2020-03-29 00:43:59 +00:00
|
|
|
p = Pigeon::DEFAULT_BUNDLE_PATH
|
|
|
|
File.delete(p) if File.file?(p)
|
2020-03-15 16:51:13 +00:00
|
|
|
expected_bundle = (1..10)
|
|
|
|
.to_a
|
2020-03-15 17:12:48 +00:00
|
|
|
.map do |n| { "foo" => ["bar", 123, SecureRandom.uuid].sample } end
|
2020-03-15 16:51:13 +00:00
|
|
|
.map do |d| create_message(d) end
|
|
|
|
.map(&:render)
|
2020-03-15 17:32:41 +00:00
|
|
|
.join("\n\n") + "\n"
|
2020-03-15 16:51:13 +00:00
|
|
|
Pigeon::Bundle.create
|
|
|
|
actual_bundle = File.read(Pigeon::DEFAULT_BUNDLE_PATH)
|
|
|
|
expect(expected_bundle).to eq(actual_bundle)
|
|
|
|
end
|
|
|
|
end
|