提交 7db7aa50 编写于 作者: M Myron Marston

Add additional tests for AM::ObserverArray that I had missed yesterday.

上级 fef22157
......@@ -38,6 +38,16 @@ def assert_observer_not_notified(model_class, observer_class)
assert_observer_notified Budget, AuditTrail
end
test "can enable individual observers using a class constant" do
ORM.observers.disable :all
ORM.observers.enable AuditTrail
assert_observer_not_notified Widget, WidgetObserver
assert_observer_not_notified Budget, BudgetObserver
assert_observer_notified Widget, AuditTrail
assert_observer_notified Budget, AuditTrail
end
test "can disable individual observers using a symbol" do
ORM.observers.disable :budget_observer
......@@ -47,6 +57,35 @@ def assert_observer_not_notified(model_class, observer_class)
assert_observer_notified Budget, AuditTrail
end
test "can enable individual observers using a symbol" do
ORM.observers.disable :all
ORM.observers.enable :audit_trail
assert_observer_not_notified Widget, WidgetObserver
assert_observer_not_notified Budget, BudgetObserver
assert_observer_notified Widget, AuditTrail
assert_observer_notified Budget, AuditTrail
end
test "can disable multiple observers at a time" do
ORM.observers.disable :widget_observer, :budget_observer
assert_observer_not_notified Widget, WidgetObserver
assert_observer_not_notified Budget, BudgetObserver
assert_observer_notified Widget, AuditTrail
assert_observer_notified Budget, AuditTrail
end
test "can enable multiple observers at a time" do
ORM.observers.disable :all
ORM.observers.enable :widget_observer, :budget_observer
assert_observer_notified Widget, WidgetObserver
assert_observer_notified Budget, BudgetObserver
assert_observer_not_notified Widget, AuditTrail
assert_observer_not_notified Budget, AuditTrail
end
test "can disable all observers using :all" do
ORM.observers.disable :all
......@@ -56,7 +95,17 @@ def assert_observer_not_notified(model_class, observer_class)
assert_observer_not_notified Budget, AuditTrail
end
test "can disable observers on individual models without affecting observers on other models" do
test "can enable all observers using :all" do
ORM.observers.disable :all
ORM.observers.enable :all
assert_observer_notified Widget, WidgetObserver
assert_observer_notified Budget, BudgetObserver
assert_observer_notified Widget, AuditTrail
assert_observer_notified Budget, AuditTrail
end
test "can disable observers on individual models without affecting those observers on other models" do
Widget.observers.disable :all
assert_observer_not_notified Widget, WidgetObserver
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册