From 23164fd816561459ef08fbcf4706d42e22889908 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 15 Nov 2012 13:08:06 +0100
Subject: [PATCH] Assert causality solving.

---
 .../testSlapOSERP5DefaultScenario.py          | 19 +++++++++++++++++--
 master/bt5/slapos_erp5/bt/revision            |  2 +-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/master/bt5/slapos_erp5/TestTemplateItem/testSlapOSERP5DefaultScenario.py b/master/bt5/slapos_erp5/TestTemplateItem/testSlapOSERP5DefaultScenario.py
index 0d9045fac..da827c199 100644
--- a/master/bt5/slapos_erp5/TestTemplateItem/testSlapOSERP5DefaultScenario.py
+++ b/master/bt5/slapos_erp5/TestTemplateItem/testSlapOSERP5DefaultScenario.py
@@ -398,7 +398,8 @@ class TestSlapOSDefaultScenario(TestSlapOSSecurityMixin):
       else:
         raise NotImplementedError
 
-  def assertHostingSubscriptionRelatedDeliveryList(self, subscription):
+  def assertHostingSubscriptionRelatedDeliveryList(self, subscription,
+        causality_state='building'):
     self.login()
     applied_rule_list = self.portal.portal_catalog(portal_type='Applied Rule',
         causality_uid=subscription.getUid())
@@ -415,7 +416,7 @@ class TestSlapOSDefaultScenario(TestSlapOSSecurityMixin):
 
       self.assertEqual('Sale Packing List', delivery.getPortalType())
       self.assertEqual('delivered', delivery.getSimulationState())
-      self.assertEqual('building', delivery.getCausalityState())
+      self.assertEqual(causality_state, delivery.getCausalityState())
 
   def assertOpenSaleOrderCoverage(self, person_reference):
     self.login()
@@ -604,3 +605,17 @@ class TestSlapOSDefaultScenario(TestSlapOSSecurityMixin):
           default_destination_section_uid=person.getUid()):
         self.assertHostingSubscriptionRelatedDeliveryList(
             subscription.getObject())
+
+    # check causality solving
+    self.stepCallSlaposUpdateDeliveryCausalityStateAlarm()
+    self.tic()
+
+    for person_reference in (owner_reference, friend_reference,
+        public_reference):
+      person = self.portal.portal_catalog.getResultValue(portal_type='Person',
+          reference=person_reference)
+      for subscription in self.portal.portal_catalog(
+          portal_type='Hosting Subscription',
+          default_destination_section_uid=person.getUid()):
+        self.assertHostingSubscriptionRelatedDeliveryList(
+            subscription.getObject(), causality_state='solved')
diff --git a/master/bt5/slapos_erp5/bt/revision b/master/bt5/slapos_erp5/bt/revision
index a46c9d226..69226f729 100644
--- a/master/bt5/slapos_erp5/bt/revision
+++ b/master/bt5/slapos_erp5/bt/revision
@@ -1 +1 @@
-91
\ No newline at end of file
+92
\ No newline at end of file
-- 
2.30.9