trytond-stock_shipment_ecom.../tests/scenario_shopify.rst

111 lines
3.1 KiB
ReStructuredText

======================================
Stock Shipment Ecommerce Shop Scenario
======================================
Imports::
>>> from proteus import Model
>>> from decimal import Decimal
>>> from trytond.tests.tools import activate_modules
>>> from trytond.modules.company.tests.tools import create_company, \
... get_company
Install stock_shipment_ecommerce::
>>> config = activate_modules('stock_shipment_ecommerce')
Create company::
>>> _ = create_company()
>>> company = get_company()
Create party::
>>> Party = Model.get('party.party')
>>> party = Party()
>>> party.name = 'ShopOwner'
>>> party.save()
Create Country::
>>> Country = Model.get('country.country')
>>> country = Country()
>>> country.code = 'ES'
>>> country.name = 'España'
>>> country.save()
Create Subdivision::
>>> Subdivision = Model.get('country.subdivision')
>>> subdivision = Subdivision()
>>> subdivision.code = 'ES-B'
>>> subdivision.country = country
>>> subdivision.name = 'Barcelona'
>>> subdivision.type = 'province'
>>> subdivision.save()
Create Product::
>>> ProductUom = Model.get('product.uom')
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
>>> ProductTemplate = Model.get('product.template')
>>> Product = Model.get('product.product')
>>> template = ProductTemplate()
>>> template.name = 'product'
>>> template.default_uom = unit
>>> template.type = 'goods'
>>> template.list_price = Decimal('30')
>>> template.party = party
>>> product, = template.products
>>> product.party_code = '0987654321-M'
>>> template.save()
>>> template2 = ProductTemplate()
>>> template2.name = 'product2'
>>> template2.default_uom = unit
>>> template2.type = 'goods'
>>> template2.list_price = Decimal('30')
>>> template2.party = party
>>> product2, = template2.products
>>> product2.party_code = '1234567890'
>>> template2.save()
Create Shop::
>>> Warehouse = Model.get('stock.location')
>>> warehouse, = Warehouse.find([('type', '=', 'warehouse')], limit=1)
>>> Shop = Model.get('stock.shipment.ecommerce.shop')
>>> shop = Shop()
>>> shop.name = 'TestShop'
>>> shop.type = 'shopify'
>>> shop.api_key = 'testkey'
>>> shop.api_password = 'testpass'
>>> shop.url = 'https://this-is-my-test-show.myshopify.com/admin/api/unstable'
>>> shop.party = party
>>> shop.warehouse = warehouse
>>> shop.save()
Update Shop Shipments::
>>> Shipment = Model.get('stock.shipment.out')
>>> shipments = Shipment.find()
>>> len(shipments)
0
>>> shop.click('update_shop_shipments')
>>> shipments = Shipment.find()
>>> len(shipments)
1
>>> shipment, = shipments
>>> len(shipment.outgoing_moves)
2
>>> len(shipment.inventory_moves)
2
>>> moves = sorted(shipment.inventory_moves, key=lambda x: x.product.name)
>>> move = moves[0]
>>> (move.product.name, move.quantity)
('product', 1.0)
>>> move = moves[1]
>>> (move.product.name, move.quantity)
('product2', 1.0)