Finish tests for Message#append
This commit is contained in:
parent
7223906613
commit
7d8051b7b5
|
@ -24,15 +24,6 @@ module Pigeon
|
|||
@prev = previous_message ? previous_message.signature : EMPTY_MESSAGE
|
||||
end
|
||||
|
||||
def self.current
|
||||
# TODO: Handle find-or-create logic.
|
||||
@current ||= Pigeon::Storage.current.get_config(NAME_OF_DRAFT)
|
||||
end
|
||||
|
||||
def render
|
||||
Template.new(self).render
|
||||
end
|
||||
|
||||
def append(key, value)
|
||||
puts "TODO: Add #[] / #[]= methods"
|
||||
puts "TODO: Add #readonly? method and disallow edits after save"
|
||||
|
@ -47,6 +38,15 @@ module Pigeon
|
|||
return self.body[key]
|
||||
end
|
||||
|
||||
def self.current
|
||||
@current ||= (Pigeon::Storage.current.get_config(NAME_OF_DRAFT) || new)
|
||||
end
|
||||
|
||||
def save
|
||||
Pigeon::Storage.current.set_config(NAME_OF_DRAFT, self)
|
||||
self
|
||||
end
|
||||
|
||||
def sign
|
||||
@signature = calculate_signature
|
||||
file_path = path_to_message_number(@depth)
|
||||
|
@ -56,9 +56,8 @@ module Pigeon
|
|||
self
|
||||
end
|
||||
|
||||
def save
|
||||
Pigeon::Storage.current.set_config(NAME_OF_DRAFT, self)
|
||||
self
|
||||
def render
|
||||
Template.new(self).render
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -2,16 +2,20 @@ require "spec_helper"
|
|||
|
||||
RSpec.describe Pigeon::Message do
|
||||
it "creates a new message" do
|
||||
Pigeon::KeyPair.current
|
||||
message = Pigeon::Message.create(kind: "unit_test")
|
||||
hash = Pigeon::Storage.current.set_blob(File.read("./logo.png"))
|
||||
expectations = {
|
||||
author: Pigeon::KeyPair.current.public_key,
|
||||
kind: "unit_test",
|
||||
body: { "foo" => "bar".to_json },
|
||||
body: {
|
||||
"foo" => "bar".to_json,
|
||||
"baz" => hash,
|
||||
},
|
||||
depth: 0,
|
||||
prev: Pigeon::Message::EMPTY_MESSAGE,
|
||||
}
|
||||
message.append("foo", "bar")
|
||||
message.append("baz", hash)
|
||||
expect(message.author).to eq(Pigeon::KeyPair.current.public_key)
|
||||
expect(message.kind).to eq("unit_test")
|
||||
expect(message.body).to eq(expectations.fetch(:body))
|
||||
|
|
Loading…
Reference in New Issue