From 703791a980d9a6615647d632449e9710c218fd8e Mon Sep 17 00:00:00 2001
From: Gabriel Monnerat <gabriel@tiolive.com>
Date: Tue, 26 Jul 2011 01:41:50 -0300
Subject: [PATCH] add steps to validate if a software instance user has access
 to view a sale order that is associated with one slave instance

---
 .../Vifib/tests/testVifibSlapWebService.py    | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/master/product/Vifib/tests/testVifibSlapWebService.py b/master/product/Vifib/tests/testVifibSlapWebService.py
index be6c5263c..0723450b9 100644
--- a/master/product/Vifib/tests/testVifibSlapWebService.py
+++ b/master/product/Vifib/tests/testVifibSlapWebService.py
@@ -4852,11 +4852,13 @@ class TestVifibSlapWebService(testVifibMixin):
       ConfirmOrderedSaleOrderActiveSense
       Tic
       StoreSalePackingListLineFromSlaveInstance
+      StoreSaleOrderFromSlaveInstance
       SlapLoginCurrentComputer
       CheckSlaveInstanceListFromOneComputerPartition
       SlapLoginSoftwareInstanceFromCurrentSoftwareInstance
       CheckSlaveInstanceAccessUsingCurrentSoftwareInstanceUser
       CheckSalePackingListFromSlaveInstanceAccessUsingSoftwareInstanceUser
+      CheckSaleOrderFromSlaveInstanceAccessUsingSoftwareInstanceUser
       CheckHostingSubscriptionFromSlaveInstanceAccessUsingSoftwareInstanceUser
       SlapLogout
     """
@@ -6007,6 +6009,16 @@ class TestVifibSlapWebService(testVifibMixin):
     self.assertUserCanViewDocument(username, sale_packing_list_line)
     self.failIfUserCanModifyDocument(username, sale_packing_list_line)
 
+  def stepCheckSaleOrderFromSlaveInstanceAccessUsingSoftwareInstanceUser(self,
+      sequence):
+    portal_membership = self.portal.portal_membership
+    sale_order = self.portal.portal_catalog.getResultValue(
+        portal_type="Sale Order",
+        uid=sequence["sale_order_uid"])
+    username = portal_membership.getAuthenticatedMember().getUserName()
+    self.assertUserCanViewDocument(username, sale_order)
+    self.failIfUserCanModifyDocument(username, sale_order)
+
   def stepCheckHostingSubscriptionFromSlaveInstanceAccessUsingSoftwareInstanceUser(self,
       sequence):
     portal_membership = self.portal.portal_membership
@@ -6019,6 +6031,13 @@ class TestVifibSlapWebService(testVifibMixin):
     self.assertUserCanViewDocument(username, hosting_subscription)
     self.failIfUserCanModifyDocument(username, hosting_subscription)
 
+  def stepStoreSaleOrderFromSlaveInstance(self, sequence):
+    sale_order_line = self.portal.portal_catalog.getResultValue(
+        portal_type="Sale Order Line",
+        aggregate_refence=sequence["software_instance_reference"])
+    sequence.edit(sale_order_line_uid=sale_order_line.getUid(),
+        sale_order_uid=sale_order_line.getParent().getUid())
+
   def stepStoreSalePackingListLineFromSlaveInstance(self, sequence):
     sale_packing_list_line = self.portal.portal_catalog.getResultValue(
         portal_type="Sale Packing List Line",
-- 
2.30.9