DG MS; Status messages have owner field; defaults to user

This commit is contained in:
maxwell 2010-06-14 17:13:07 -07:00
parent 1f73c2351e
commit 4532c39e93
6 changed files with 34 additions and 15 deletions

View file

@ -4,10 +4,20 @@ class StatusMessage
include ROXML
xml_accessor :message
xml_accessor :owner
field :message
field :owner
validates_presence_of :message
before_create :add_owner
protected
def add_owner
self.owner ||= User.first.email
end
end

View file

@ -1,13 +1,14 @@
- title "Status Messages"
%table
%tr
%th Message
%h3 Messages
%ul
- for status_message in @status_messages
%tr
%td= status_message.message
%td= link_to 'Show', status_message
%td= link_to 'Destroy', status_message, :confirm => 'Are you sure?', :method => :delete
%li
= "#{status_message.message} by #{status_message.owner}"
= link_to 'Show', status_message
|
=link_to 'Destroy', status_message, :confirm => 'Are you sure?', :method => :delete
%h2 Friends

View file

@ -4,6 +4,10 @@
%strong Message:
= @status_message.message
%p
%strong Owner:
= @status_message.owner
%p
= link_to "Destroy", @status_message, :confirm => 'Are you sure?', :method => :delete
|

View file

@ -1,10 +1,5 @@
defaults: &defaults
host: localhost
# slaves:
# - host: slave1.local
# port: 27018
# - host: slave2.local
# port: 27019
allow_dynamic_fields: false
parameterize_keys: true
persist_in_safe_mode: true

View file

@ -4,6 +4,7 @@ describe StatusMessagesController do
before do
#TODO(dan) Mocking Warden; this is a temp fix
request.env['warden'] = mock_model(Warden, :authenticate => @user, :authenticate! => @user)
User.create(:email => "bob@aol.com", :password => "secret")
StatusMessage.create(:message => "yodels.")
end

View file

@ -8,18 +8,26 @@ describe StatusMessage do
n.valid?.should be true
end
it "should add an owner if none is present" do
User.create(:email => "bob@aol.com", :password => "big bux")
n = StatusMessage.create(:message => "puppies!")
n.owner.should == "bob@aol.com"
end
describe "XML" do
before do
@xml = "<statusmessage>\n <message>I hate WALRUSES!</message>\n</statusmessage>"
@xml = "<statusmessage>\n <message>I hate WALRUSES!</message>\n <owner>Bob</owner>\n</statusmessage>"
end
it 'should serialize to XML' do
message = StatusMessage.new(:message => "I hate WALRUSES!")
message = StatusMessage.create(:message => "I hate WALRUSES!", :owner => "Bob")
message.to_xml.to_s.should == @xml
end
it 'should marshal serialized XML to object' do
StatusMessage.from_xml(@xml).message.should == "I hate WALRUSES!"
parsed = StatusMessage.from_xml(@xml)
parsed.message.should == "I hate WALRUSES!"
parsed.owner.should == "Bob"
end
end
end