notes: disallow blank note bodies.
This commit is contained in:
@@ -8,8 +8,7 @@ class Note < ActiveRecord::Base
|
|||||||
has_many :versions, lambda {order("note_versions.id ASC")}, :class_name => "NoteVersion", :dependent => :destroy
|
has_many :versions, lambda {order("note_versions.id ASC")}, :class_name => "NoteVersion", :dependent => :destroy
|
||||||
before_validation :initialize_creator, :on => :create
|
before_validation :initialize_creator, :on => :create
|
||||||
before_validation :initialize_updater
|
before_validation :initialize_updater
|
||||||
before_validation :blank_body
|
validates_presence_of :post_id, :creator_id, :updater_id, :x, :y, :width, :height, :body
|
||||||
validates_presence_of :post_id, :creator_id, :updater_id, :x, :y, :width, :height
|
|
||||||
validate :post_must_exist
|
validate :post_must_exist
|
||||||
validate :note_within_image
|
validate :note_within_image
|
||||||
after_save :update_post
|
after_save :update_post
|
||||||
@@ -124,10 +123,6 @@ class Note < ActiveRecord::Base
|
|||||||
Post.exists?(["id = ? AND is_note_locked = ?", post_id, true])
|
Post.exists?(["id = ? AND is_note_locked = ?", post_id, true])
|
||||||
end
|
end
|
||||||
|
|
||||||
def blank_body
|
|
||||||
self.body = "(empty)" if body.blank?
|
|
||||||
end
|
|
||||||
|
|
||||||
def creator_name
|
def creator_name
|
||||||
User.id_to_name(creator_id).tr("_", " ")
|
User.id_to_name(creator_id).tr("_", " ")
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -67,6 +67,13 @@ class NoteTest < ActiveSupport::TestCase
|
|||||||
assert_equal(["Post must exist"], @note.errors.full_messages)
|
assert_equal(["Post must exist"], @note.errors.full_messages)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "not validate if the body is blank" do
|
||||||
|
@note = FactoryGirl.build(:note, body: " ")
|
||||||
|
|
||||||
|
assert_equal(false, @note.valid?)
|
||||||
|
assert_equal(["Body can't be blank"], @note.errors.full_messages)
|
||||||
|
end
|
||||||
|
|
||||||
should "create a version" do
|
should "create a version" do
|
||||||
assert_difference("NoteVersion.count", 1) do
|
assert_difference("NoteVersion.count", 1) do
|
||||||
Timecop.travel(1.day.from_now) do
|
Timecop.travel(1.day.from_now) do
|
||||||
|
|||||||
Reference in New Issue
Block a user