odoo/addons/auction/test/auction.yml

325 lines
11 KiB
YAML

-
In order to test the auction module in the OpenERP I start the process by creating a product.
-
!record {model: product.product, id: product_product_furniture0}:
categ_id: product.cat1
cost_method: standard
mes_type: fixed
name: Furniture
procure_method: make_to_stock
standard_price: 1.0
supply_method: buy
type: product
uom_id: product.product_uom_unit
uom_po_id: product.product_uom_unit
volume: 0.0
warranty: 0.0
weight: 0.0
weight_net: 0.0
-
I create a new artist for an object.
-
!record {model: auction.artists, id: auction_artists_vincentvangogh0}:
birth_death_dates: 1853-1900
name: Vincent van Gogh
-
I am modifying an expenses journal record for analytic journal.
-
!record {model: account.journal, id: account.expenses_journal}:
analytic_journal_id: account.exp
-
I am modifying a sales journal record for analytic journal.
-
!record {model: account.journal, id: account.sales_journal}:
analytic_journal_id: account.cose_journal_sale
-
I'm creating new Seller "Mr. Pinakin" with him email "info@mycustomer.com".
-
!record {model: res.partner, id: res_partner_mrpinakin0}:
address:
- city: Namur
country_id: base.be
phone: (+32).10.45.18.77
street: 23, street ways
type: default
zip: '2324324'
email: 'info@mycustomer.com'
name: Mr. Pinakin
-
I'm creating new Buyer "Mr. Patel" with his email "info@myinfobid.com".
-
!record {model: res.partner, id: res_partner_mrpatel0}:
address:
- city: Bruxelles
country_id: base.be
street: Rue des Palais 51, bte 33
type: default
zip: '1000'
email: 'info@myinfobid.com'
name: Mr. Patel
-
I'm creating new Buyer "Mr. Johnson" with his email "info@mrkjohnson.com".
-
!record {model: res.partner, id: res_partner_mrkjohnson0}:
address:
- city: paris
country_id: base.fr
name: Mark Johnson
street: 1 rue Rockfeller
type: invoice
zip: '75016'
email: 'info@mrkjohnson.com'
name: Mr. Mark Johnson
-
I'm creating new Buyer "Mr. Rahi" with his email "info@poalrahi.com".
-
!record {model: res.partner, id: res_partner_poalrahi0}:
address:
- city: Bruxelles
country_id: base.be
street: Rue des Palais 51, bte 33
type: default
zip: '1000'
email: 'info@poalrahi.com'
name: Mr. Rahi
-
I create an Account tax with 0.03 amount to give Buyer "3%" Commission.
-
!record {model: account.tax, id: account_tax_buyer0}:
amount: 0.029999999999999999
applicable_type: 'true'
company_id: base.main_company
domain: auction
name: Buyer Costs(%3)
sequence: 1
type: percent
type_tax_use: all
-
I create another Account tax with 0.04 amount to give seller "4%" commission.
-
!record {model: account.tax, id: account_tax_sellercosts0}:
amount: 0.040000000000000001
applicable_type: 'true'
company_id: base.main_company
domain: auction
name: Seller Costs(%4)
sequence: 1
type: percent
type_tax_use: all
-
Now I want to associate an object with the auction so for that I create an auction "Antique furniture exhibition" which
start from 1 Aug to 31 Aug with Seller Commission 4%, buyer commission 3%.
-
!record {model: auction.dates, id: auction_dates_antiquefurnitureexhibition0}:
acc_expense: account.a_pay
acc_income: account.a_recv
account_analytic_id: account.analytic_root
auction1: !eval "'%s-08-01' %(datetime.now().year)"
auction2: !eval "'%s-08-31' %(datetime.now().year)"
expo1: !eval "'%s-08-01' %(datetime.now().year)"
expo2: !eval "'%s-08-31' %(datetime.now().year)"
journal_id: account.expenses_journal
journal_seller_id: account.sales_journal
name: Antique furniture exhibition
seller_costs:
- auction.account_tax_sellercosts0
buyer_costs:
- auction.account_tax_buyer0
-
An object is being deposited for an auction,I create a seller's deposit record with deposit cost.
-
!record {model: auction.deposit, id: auction_deposit_ad0}:
date_dep: !eval "'%s-08-01' %(datetime.now().year)"
method: keep
name: AD/006
partner_id: res_partner_mrpinakin0
specific_cost_ids:
- account: auction.auction_expense
amount: 200.0
name: Transfer Cost
-
I create a new object wooden-chair which is to be auctioned.
-
!record {model: auction.lots, id: auction_lots_woodenchair0}:
ach_uid: res_partner_mrkjohnson0
artist_id: auction_artists_vincentvangogh0
auction_id: auction_dates_antiquefurnitureexhibition0
bord_vnd_id: auction_deposit_ad0
lot_est1: 3000.0
lot_est2: 5000.0
lot_num: 1
name: wooden-chair
name2: antique wooden chair
obj_num: 1
obj_price: 4000.0
obj_ret: 0.0
product_id: 'product_product_furniture0'
state: draft
vnd_lim: 5000.0
-
I create a bid for an object "wooden-chair" which is to be auctioned in Antique furniture exhibition bid by Mr.Patel.
-
!record {model: auction.bid, id: auction_bid_bid0}:
auction_id: auction_dates_antiquefurnitureexhibition0
contact_tel: (+32)2 211 34 83
name: bid/001
partner_id: res_partner_mrpatel0
-
I create a bid line.
-
!record {model: auction.bid_line, id: auction_bid_line_0}:
auction: Antique furniture exhibition
bid_id: auction_bid_bid0
lot_id: auction.auction_lots_woodenchair0
price: 3100.0
-
I create another bid for an object "wooden-chair" bid by a Mr.poalrahi
-
!record {model: auction.bid, id: auction_bid_bid1}:
auction_id: auction_dates_antiquefurnitureexhibition0
name: bid/002
partner_id: res_partner_poalrahi0
-
I create a bid line.
-
!record {model: auction.bid_line, id: auction_bid_line_1}:
auction: Antique furniture exhibition
bid_id: 'auction_bid_bid1'
call: 1
lot_id: auction.auction_lots_woodenchair0
price: 3200.0
-
I create another bid for an object "wooden-chair" bid by a Mr.Johnson
-
!record {model: auction.bid, id: auction_bid_bid2}:
auction_id: auction_dates_antiquefurnitureexhibition0
name: bid/003
partner_id: res_partner_mrkjohnson0
-
I create a bid line.
-
!record {model: auction.bid_line, id: auction_bid_line_2}:
auction: Antique furniture exhibition
bid_id: 'auction_bid_bid2'
call: 1
lot_id: auction.auction_lots_woodenchair0
price: 4000.0
-
Mr. MarkJohnson bid are selected as the Finalist Bid with 4000 Euro
-
I check that buyer price and seller price gets bound with the value
-
!python {model: auction.lots}: |
from tools.translate import _
auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0"))
assert auc_id.buyer_price and auc_id.seller_price, _('Buyer price and seller price are not available!')
-
Now, An object has been sold,so I click on the "Sold" button.
-
!python {model: auction.lots}: |
self.button_bought(cr, uid, [ref("auction_lots_woodenchair0")], {"lang": "en_US", "tz":
False, "active_model": "ir.ui.menu", "active_ids": [ref("auction.auction_lots_woodenchair0")],
"active_id": ref("auction.auction_lots_woodenchair0")})
-
I click on the "Create all invoices" button for all Objects in this Auction.
-
!python {model: auction.dates}: |
self.close(cr, uid, [ref("auction.auction_dates_antiquefurnitureexhibition0")],
{"active_model": "ir.ui.menu", "active_ids":
[ref("auction.menu_auction_dates_next1")], "active_id": ref("auction.menu_auction_dates_next1")})
-
I check that a record gets created in the "Supplier Invoices".
-
!python {model: auction.lots}: |
from tools.translate import _
auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0"))
assert(auc_id.sel_inv_id), _('Seller Invoice has not been created!')
-
I create a buyer's invoice by using the "Invoice Buyer objects" wizard.
-
!record {model: auction.lots.make.invoice.buyer, id: auction_lots_make_invoice_buyer_0}:
amount: 3090.0
buyer_id: res_partner_mrkjohnson0
number: !eval "'%s/003' %(datetime.now().year)"
objects: 1
-
I click on the "Create Invoices" button.
-
!python {model: auction.lots.make.invoice.buyer}: |
self.makeInvoices(cr, uid, [ref("auction_lots_make_invoice_buyer_0")], {"active_model": "auction.lots", "active_ids": [ref("auction_lots_woodenchair0")],
"active_id": ref("auction_lots_woodenchair0"), })
-
I check that a "Buyer Invoice" field gets bound with the value.
-
!python {model: auction.lots}: |
from tools.translate import _
auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0"))
assert(auc_id.ach_inv_id), _('Buyer Invoice has not been created!')
-
Buyer pays the invoice
-
!python {model: account.invoice}: |
obj_lots = self.pool.get('auction.lots')
lots_id = obj_lots.browse(cr, uid, ref("auction_lots_woodenchair0"))
self.pay_and_reconcile(cr, uid, [lots_id.ach_inv_id.id], 4120.0,
ref('account.cash'), ref('account.period_8'),
ref('account.cash_journal'), ref('account.cash'),
ref('account.period_8'), ref('account.cash_journal'), name='Furniture')
-
I check that "Buyer Invoice Reconciled" field is marked.
-
!assert {model: auction.lots, id: auction_lots_woodenchair0}:
- paid_ach == True, 'Buyer Invoice should be Reconciled.'
-
I check that the order which was initially in the draft state has transit to sold state.
-
!python {model: auction.lots}: |
from tools.translate import _
auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0"))
assert(auc_id.state == 'sold'), _('State not changed!')
-
I click on the Taken Away button.
-
!python {model: auction.lots}: |
self.button_taken_away(cr, uid, [ref("auction_lots_woodenchair0")], {"lang":
"en_US", "tz": False, "active_model": "ir.ui.menu", "active_ids": [ref("auction.auction_all_objects_menu")],
"active_id": ref("auction.auction_all_objects_menu")})
-
I check that the order which was initially in the sold state has transit to taken away state.
-
!assert {model: auction.lots, id: auction_lots_woodenchair0}:
- state == 'taken_away', "state is not taken Away"
-
In order to change the auction for an object I use the "Change auction date" wizard.
This will Erase The Object Adjudication Price and Its Buyer!
-
!record {model: auction.lots.auction.move, id: auction_lots_auction_move_0}:
auction_id: auction.auction_date_2
-
I click on the "Move to Auction date" button.
-
!python {model: auction.lots.auction.move}: |
self.auction_move_set(cr, uid, [ref("auction_lots_auction_move_0")], {"lang":
"en_US", "tz": False, "active_model": "auction.lots", "active_ids": [ref("auction_lots_woodenchair0")],
"active_id": ref("auction_lots_woodenchair0"), })
-
I check that a record gets created in the lot history.
-
!python {model: auction.lots}: |
from tools.translate import _
auc_id=self.browse(cr, uid, ref("auction_lots_woodenchair0"))
auc_lot_his=self.pool.get('auction.lot.history')
ids=auc_lot_his.search(cr, uid, [('lot_id', '=', auc_id.id)])
assert ids, _('Auction history does not exists!')