Commit f56ee68f authored by Romain Courteaud's avatar Romain Courteaud 🐙

slapos_subscription_request:

* create software product/release in test
* improve software product/release
* expect Sale Packing List to use a Software Product
* use Software Product as resource
parent 92397d12
...@@ -262,6 +262,32 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans ...@@ -262,6 +262,32 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans
return subscription_condition return subscription_condition
def createSubscriptionCondition(self, slave=False): def createSubscriptionCondition(self, slave=False):
url_string = self.generateNewSoftwareReleaseUrl()
# Create Software Product/Release
software_product = self.portal.software_product_module.newContent(
portal_type="Software Product",
title="TestSoftwareProduct",
follow_up_value=self.subscription_project,
use='trade/sale',
quantity_unit='unit/piece',
product_line='cloud/subscription',
base_contribution_list=[
'base_amount/invoicing/discounted',
'base_amount/invoicing/taxable'
]
)
software_product.validate()
software_release = self.portal.software_release_module.newContent(
portal_type="Software Release",
title="TestSoftwareRelease",
url_string=url_string,
aggregate_value=software_product,
follow_up_value=self.subscription_project
)
software_release.share()
sale_trade_condition = self.portal.sale_trade_condition_module.newContent( sale_trade_condition = self.portal.sale_trade_condition_module.newContent(
portal_type="Sale Trade Condition", portal_type="Sale Trade Condition",
title="TestSubscriptionScenario", title="TestSubscriptionScenario",
...@@ -277,7 +303,7 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans ...@@ -277,7 +303,7 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans
sale_trade_condition.newContent( sale_trade_condition.newContent(
portal_type="Sale Supply Line", portal_type="Sale Supply Line",
base_price=self.expected_individual_price_without_tax, base_price=self.expected_individual_price_without_tax,
resource='service_module/slapos_instance_subscription', resource_value=software_product,
) )
sale_trade_condition.newContent( sale_trade_condition.newContent(
portal_type="Sale Supply Line", portal_type="Sale Supply Line",
...@@ -290,7 +316,7 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans ...@@ -290,7 +316,7 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans
title="TestSubscriptionScenario", title="TestSubscriptionScenario",
short_tile="Test Your Scenario", short_tile="Test Your Scenario",
description="This is a test", description="This is a test",
url_string=self.generateNewSoftwareReleaseUrl(), url_string=url_string,
root_slave=slave, root_slave=slave,
default_source_reference="default", default_source_reference="default",
reference="rapidvm%s" % self.new_id, reference="rapidvm%s" % self.new_id,
...@@ -446,9 +472,10 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans ...@@ -446,9 +472,10 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans
self.assertEqual(len(delivery_list), 1) self.assertEqual(len(delivery_list), 1)
sale_packing_list = delivery_list[0] sale_packing_list = delivery_list[0]
instance_tree = subscription_request.getAggregateValue()
subscription_delivery_line_list = self.portal.portal_catalog( subscription_delivery_line_list = self.portal.portal_catalog(
portal_type="Sale Packing List Line", portal_type="Sale Packing List Line",
default_resource_uid=self.portal.service_module.slapos_instance_subscription.getUid(), resource__uid=instance_tree.InstanceTree_getSoftwareProduct().getUid(),
grouping_reference=sale_packing_list.getReference() grouping_reference=sale_packing_list.getReference()
) )
...@@ -1079,7 +1106,7 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans ...@@ -1079,7 +1106,7 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans
self.assertEqual(len(sale_packing_list.objectValues()), 2) self.assertEqual(len(sale_packing_list.objectValues()), 2)
sale_packing_list_line = [ i for i in sale_packing_list.objectValues() sale_packing_list_line = [ i for i in sale_packing_list.objectValues()
if i.getResource() == "service_module/slapos_instance_subscription"][0] if i.getResourceValue().getPortalType() == "Software Product"][0]
quantity = subscription_request.getQuantity() quantity = subscription_request.getQuantity()
if sale_trade_condition.getPriceCurrency() == "currency_module/CNY": if sale_trade_condition.getPriceCurrency() == "currency_module/CNY":
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment