4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/woulda/acts_as_paranoid/macros.rb', line 4
def should_act_as_paranoid
klass = described_type
should_have_db_column :deleted_at
context "A #{klass.name}" do
should "be paranoid (it will not be deleted from the database)" do
assert klass.paranoid?
assert klass.included_modules.include?(Caboose::Acts::Paranoid)
end
should "not have a value for deleted_at" do
assert object = klass.find(:first)
assert_nil object.deleted_at
end
context "when destroyed" do
setup do
assert object = klass.find(:first), "This context requires there to be an existing #{klass}"
@deleted_id = object.id
object.destroy
end
should "not be found" do
assert_raise(ActiveRecord::RecordNotFound) { klass.find(@deleted_id) }
end
should "still exist in the database" do
deleted_object = klass.find_with_deleted(@deleted_id)
assert_not_nil deleted_object.deleted_at
end
end
end
end
|