forked from Mapan/odoo17e
64 lines
2.7 KiB
Python
64 lines
2.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import Command
|
|
from odoo.tests import HttpCase, tagged
|
|
from .common import TestWebsiteSaleSubscriptionCommon
|
|
|
|
@tagged('-at_install', 'post_install')
|
|
class TestUi(HttpCase, TestWebsiteSaleSubscriptionCommon):
|
|
|
|
def test_website_sale_subscription_ui(self):
|
|
self.start_tour("/web", 'shop_buy_subscription_product', login='admin')
|
|
|
|
def test_website_sale_subscription_product_variants(self):
|
|
reccuring_product = self.env['product.template'].create({
|
|
'recurring_invoice': True,
|
|
'detailed_type': 'service',
|
|
'name': 'Reccuring product',
|
|
})
|
|
product_attribute = self.env['product.attribute'].create({'name': 'periods'})
|
|
|
|
product_attribute_val1 = self.env['product.attribute.value'].create({
|
|
'name': 'Monthly',
|
|
'attribute_id': product_attribute.id
|
|
})
|
|
product_attribute_val2 = self.env['product.attribute.value'].create({
|
|
'name': '2 Months',
|
|
'attribute_id': product_attribute.id
|
|
})
|
|
product_attribute_val3 = self.env['product.attribute.value'].create({
|
|
'name': 'Yearly',
|
|
'attribute_id': product_attribute.id
|
|
})
|
|
|
|
reccuring_product.attribute_line_ids = [(Command.create({
|
|
'attribute_id': product_attribute.id,
|
|
'value_ids': [Command.set([product_attribute_val1.id, product_attribute_val2.id, product_attribute_val3.id])],
|
|
}))]
|
|
|
|
pricing1 = self.env['sale.subscription.pricing'].create({
|
|
'plan_id': self.plan_month.id,
|
|
'price': 90,
|
|
'product_template_id': reccuring_product.id,
|
|
'product_variant_ids': [Command.link(reccuring_product.product_variant_ids[-3].id)],
|
|
})
|
|
pricing2 = self.env['sale.subscription.pricing'].create({
|
|
'plan_id': self.plan_2_month.id,
|
|
'price': 160,
|
|
'product_template_id': reccuring_product.id,
|
|
'product_variant_ids': [Command.link(reccuring_product.product_variant_ids[-2].id)],
|
|
})
|
|
pricing3 = self.env['sale.subscription.pricing'].create({
|
|
'plan_id': self.plan_year.id,
|
|
'price': 1000,
|
|
'product_template_id': reccuring_product.id,
|
|
'product_variant_ids': [Command.link(reccuring_product.product_variant_ids[-1].id)],
|
|
})
|
|
|
|
reccuring_product.write({
|
|
'product_subscription_pricing_ids': [Command.set([pricing1.id, pricing2.id, pricing3.id])]
|
|
})
|
|
|
|
self.start_tour(reccuring_product.website_url, 'sale_subscription_product_variants', login='admin')
|