def get_environment(session, model_name, backend_id): """ Create an environment to work with. """ backend_record = session.browse('icops.backend', backend_id) env = Environment(backend_record, session, model_name) lang_code = 'en_US' env.set_lang(code=lang_code) return env
def get_environment(session, model_name, backend_id): """ Create an environment to work with. """ backend_record = session.browse('magento.backend', backend_id) env = Environment(backend_record, session, model_name) lang = backend_record.default_lang_id lang_code = lang.code if lang else 'en_US' env.set_lang(code=lang_code) return env
def get_environment(session, model_name, backend_id): """ Create an environment to work with. """ backend_record = session.browse('highjump.backend', backend_id) env = Environment(backend_record, session, model_name) lang = backend_record.default_lang_id lang_code = lang.code if lang else 'en_US' env.set_lang(code=lang_code) return env
def setUp(self): super(TestIntCSVParse, self).setUp() self.backend_record = Mock() self.session = ConnectorSession(self.cr, self.uid) self.model_name = 'ir.attachment.binding' self.backend_id = self.session.create( 'file_import.backend', { 'name': 'Test File Import', 'ftp_host': 'localhost', 'ftp_user': '******', 'ftp_password': '******', 'ftp_input_folder': 'to_openerp', 'ftp_failed_folder': 'from_openerp', }) self.env = Environment(self.backend_record, self.session, self.model_name) self.policy = CSVParsePolicy(self.env) with open(expand_path('two_chunks.csv')) as input_file: file_content = input_file.read() self.document_id = self.session.create( 'ir.attachment.binding', { 'datas': base64.b64encode(file_content), 'datas_fname': 'two_chunks.csv', 'name': 'two_chunks.csv', 'backend_id': self.backend_id, }) self.document = self.session.browse('ir.attachment.binding', self.document_id)
def get_environment(session, backend_id): """ Create an environment to work with. """ backend_record = session.browse('taktik.importer.backend.custom', backend_id) env = Environment(backend_record, session, 'taktik.importer.model.custom') with env.session.change_context(lang='en_US'): return env
def get_environment(session, model_name, backend_id): model = session.pool.get('prestashop.backend') backend_record = model.browse(session.cr, session.uid, backend_id, session.context) return Environment(backend_record, session, model_name)
def test_play_onchange(self): """ Play the onchange ConnectorUnit on a sale order """ product_model = self.registry('product.product') partner_model = self.registry('res.partner') shop_model = self.registry('sale.shop') tax_model = self.registry('account.tax') cr, uid = self.cr, self.uid backend_record = mock.Mock() env = Environment(backend_record, self.session, 'sale.order') partner_id = partner_model.create(cr, uid, { 'name': 'seb', 'zip': '69100', 'city': 'Villeurbanne' }) partner_invoice_id = partner_model.create( cr, uid, { 'name': 'Guewen', 'zip': '1015', 'city': 'Lausanne', 'type': 'invoice', 'parent_id': partner_id }) tax_id = tax_model.create(cr, uid, {'name': 'My Tax'}) product_id = product_model.create( cr, uid, { 'default_code': 'MyCode', 'name': 'My Product', 'weight': 15, 'taxes_id': [(6, 0, [tax_id])] }) shop_id = shop_model.create(cr, uid, {'name': 'My shop'}) order_input = { 'shop_id': shop_id, 'name': 'mag_10000001', 'partner_id': partner_id, 'order_line': [ (0, 0, { 'product_id': product_id, 'price_unit': 20, 'name': 'My Real Name', 'product_uom_qty': 1, }), ] } onchange = SaleOrderOnChange(env) order = onchange.play(order_input, order_input['order_line']) self.assertEqual(order['partner_invoice_id'], partner_invoice_id) line = order['order_line'][0][2] self.assertEqual(line['name'], 'My Real Name') self.assertEqual(line['th_weight'], 15) self.assertEqual(line['tax_id'][0][2][0], tax_id)
def _get_base_adapter(self, cr, uid, ids, context=None): """ Get an adapter to test the backend connection """ backend = self.browse(cr, uid, ids[0], context=context) session = ConnectorSession(cr, uid, context=context) environment = Environment(backend, session, None) return CmisAdapter(environment)
def test_mapping_record_children_no_map_child(self): """ Map a record with children, using default MapChild """ backend = Backend('backend', '42') @backend class LineMapper(ImportMapper): _model_name = 'res.currency.rate' direct = [('name', 'name')] @mapping def price(self, record): return {'rate': record['rate'] * 2} @only_create @mapping def discount(self, record): return {'test': .5} @backend class ObjectMapper(ImportMapper): _model_name = 'res.currency' direct = [('name', 'name')] children = [('lines', 'line_ids', 'res.currency.rate')] backend_record = mock.Mock() backend_record.get_backend.side_effect = lambda *a: backend env = Environment(backend_record, self.session, 'res.currency') record = {'name': 'SO1', 'lines': [{'name': '2013-11-07', 'rate': 10}, {'name': '2013-11-08', 'rate': 20}]} mapper = ObjectMapper(env) map_record = mapper.map_record(record) expected = {'name': 'SO1', 'line_ids': [(0, 0, {'name': '2013-11-07', 'rate': 20}), (0, 0, {'name': '2013-11-08', 'rate': 40})] } self.assertEqual(map_record.values(), expected) expected = {'name': 'SO1', 'line_ids': [(0, 0, {'name': '2013-11-07', 'rate': 20, 'test': .5}), (0, 0, {'name': '2013-11-08', 'rate': 40, 'test': .5})] } self.assertEqual(map_record.values(for_create=True), expected)
def setUp(self): super(test_mapper_binding, self).setUp() self.session = ConnectorSession(self.cr, self.uid) self.Partner = self.registry('res.partner') self.backend = mock.Mock(wraps=Backend('x', version='y'), name='backend') backend_record = mock.Mock() backend_record.get_backend.return_value = self.backend self.env = Environment(backend_record, self.session, 'res.partner') self.country_binder = mock.Mock(name='country_binder') self.country_binder.return_value = self.country_binder self.backend.get_class.return_value = self.country_binder
def setUp(self): super(TestFTPGetPolicyWithOE, self).setUp() self.backend_record = Mock() self.session = ConnectorSession(self.cr, self.uid) self.model_name = 'ir.attachment.binding' self.backend_model = self.registry('file_import.backend') self.backend_id = self.backend_model.create( self.cr, self.uid, { 'name': 'Test File Import', 'ftp_host': 'localhost', 'ftp_user': '******', 'ftp_password': '******', 'ftp_input_folder': 'to_openerp', 'ftp_failed_folder': 'from_openerp', }, self.session.context) self.env = Environment(self.backend_record, self.session, self.model_name) self.policy = FTPFileGetterPolicy(self.env)
def setUp(self): super(TestDocumentParseState, self).setUp() self.backend_record = Mock() self.session = ConnectorSession(self.cr, self.uid) self.model_name = 'ir.attachment.binding' self.backend_id = self.session.create( 'file_import.backend', { 'name': 'Test File Import', 'ftp_host': 'localhost', 'ftp_user': '******', 'ftp_password': '******', 'ftp_input_folder': 'to_openerp', 'ftp_failed_folder': 'from_openerp', }) self.env = Environment(self.backend_record, self.session, self.model_name) self.policy = CSVParsePolicy(self.env)
def setUp(self): super(TestIntLoad, self).setUp() self.backend_record = Mock() self.session = ConnectorSession(self.cr, self.uid) self.model_name = 'ir.attachment.binding' self.backend_id = self.session.create( 'file_import.backend', { 'name': 'Test File Import', 'ftp_host': 'localhost', 'ftp_user': '******', 'ftp_password': '******', 'ftp_input_folder': 'to_openerp', 'ftp_failed_folder': 'from_openerp', }) self.env = Environment( self.backend_record, self.session, self.model_name ) self.policy = MoveLoadPolicy(self.env) self.parsed_header = '["ref", "date", "period_id", "journal_id", "line_id/account_id", "line_id/partner_id", "line_id/name", "line_id/analytic_account_id", "line_id/debit", "line_id/credit", "line_id/tax_code_id"]' # noqa self.parsed_good_chunk = '[["1728274", "2014-02-02", "02/2014", "Sales Journal - (test)", "X11001", "Bank Wealthy and sons", "Camptocamp", "", "37.8", "", ""], ["", "", "", "", "X1111", "Bank Wealthy and sons", "Camptocamp", "AA009", "", "31.5", ""], ["", "", "", "", "X2001", "Bank Wealthy and sons", "Camptocamp", "AA001", "", "3.83", ""], ["", "", "", "", "X2110", "Bank Wealthy and sons", "Camptocamp", "AA001", "3.83", "", ""], ["", "", "", "", "X1000", "Bank Wealthy and sons", "Camptocamp", "", "", "6.3", ""], ["", "", "", "", "X1000", "Bank Wealthy and sons", "Camptocamp", "", "", "-0", ""]]' # noqa self.parsed_chunk_missing_journal = '[["1728274", "2014-02-02", "02/2014", "Sales Journal - (test)", "X11001", "Bank Wealthy and sons", "Camptocamp", "", "37.8", "", ""], ["", "", "", "", "X1111", "Bank Wealthy and sons", "Camptocamp", "AA009", "", "31.5", ""], ["", "", "", "", "X2001", "Bank Wealthy and sons", "Camptocamp", "AA001", "", "3.83", ""], ["", "", "", "", "X2110", "Bank Wealthy and sons", "Camptocamp", "AA001", "3.83", "", ""], ["", "", "", "", "X1000", "Bank Wealthy and sons", "Camptocamp", "", "", "-6.3", ""], ["", "", "", "", "X1000", "Bank Wealthy and sons", "Camptocamp", "", "", "-0", ""]]' # noqa with open(expand_path('two_chunks.csv')) as input_file: file_content = input_file.read() self.document_id = self.session.create( 'ir.attachment.binding', { 'datas': base64.b64encode(file_content), 'datas_fname': 'two_chunks.csv', 'name': 'two_chunks.csv', 'backend_id': self.backend_id, 'prepared_header': self.parsed_header, })
def get_environment(session, model_name, backend_id): """ Create an environment to work with. """ backend_record = session.browse('civicrm.backend', backend_id) env = Environment(backend_record, session, model_name) env.set_lang(code='nl_NL') return env
def get_environment(session, model_name, backend_id): """ Create an environment to work with. """ backend_record = session.browse('bots.backend', backend_id) env = Environment(backend_record, session, model_name) return env
def get_environment(session, backend_id): """ Create an environment to work with. """ backend_record = session.browse('taktik.importer.backend', backend_id) env = Environment(backend_record, session, 'taktik.importer.model') env.set_lang(code='en_US') return env
def test_play_onchange(self): """ Play the onchange ConnectorUnit on a sale order """ product_model = self.env['product.product'] partner_model = self.env['res.partner'] tax_model = self.env['account.tax'] sale_model = self.env['sale.order'] sale_line_model = self.env['sale.order.line'] payment_method_model = self.env['payment.method'] backend_record = mock.Mock() env = Environment(backend_record, self.session, 'sale.order') partner = partner_model.create({ 'name': 'seb', 'zip': '69100', 'city': 'Villeurbanne' }) partner_invoice = partner_model.create({ 'name': 'Guewen', 'zip': '1015', 'city': 'Lausanne', 'type': 'invoice', 'parent_id': partner.id }) tax = tax_model.create({'name': 'My Tax'}) product = product_model.create({ 'default_code': 'MyCode', 'name': 'My Product', 'weight': 15, 'taxes_id': [(6, 0, [tax.id])] }) payment_term = self.env.ref('account.account_payment_term_advance') payment_method = payment_method_model.create({ 'name': 'Cash', 'payment_term_id': payment_term.id, }) order_vals = { 'name': 'mag_10000001', 'partner_id': partner.id, 'payment_method_id': payment_method.id, 'order_line': [ (0, 0, { 'product_id': product.id, 'price_unit': 20, 'name': 'My Real Name', 'product_uom_qty': 1, 'sequence': 1, }), ] } order = sale_model.new(order_vals) extra_lines = sale_line_model.new({ 'product_id': product.id, 'price_unit': 10, 'name': 'Line 2', 'product_uom_qty': 2, 'sequence': 2, }) onchange = SaleOrderOnChange(env) order = onchange.play(order, order_lines=extra_lines) self.assertEqual(order.partner_invoice_id, partner_invoice) self.assertEqual(order.payment_term, payment_term) self.assertEqual(len(order.order_line), 2) for line in order.order_line: if line.sequence == 1: self.assertEqual(line.name, 'My Real Name') self.assertEqual(line.th_weight, 15) self.assertEqual(line.tax_id, tax) elif line.sequence == 2: self.assertEqual(line.name, 'Line 2') self.assertEqual(line.th_weight, 30) self.assertEqual(line.tax_id, tax) else: raise AssertionError('Unexpected sequence')
def test_play_onchange(self): """ Play the onchange ConnectorUnit on a sales order """ product_model = self.env['product.product'] partner_model = self.env['res.partner'] tax_model = self.env['account.tax'] payment_method_model = self.env['payment.method'] backend_record = mock.Mock() env = Environment(backend_record, self.session, 'sale.order') partner = partner_model.create({ 'name': 'seb', 'zip': '69100', 'city': 'Villeurbanne' }) partner_invoice = partner_model.create({ 'name': 'Guewen', 'zip': '1015', 'city': 'Lausanne', 'type': 'invoice', 'parent_id': partner.id }) tax = tax_model.create({'name': 'My Tax'}) product = product_model.create({ 'default_code': 'MyCode', 'name': 'My Product', 'weight': 15, 'taxes_id': [(6, 0, [tax.id])] }) payment_term = self.env.ref('account.account_payment_term_advance') payment_method = payment_method_model.create({ 'name': 'Cash', 'payment_term_id': payment_term.id, }) order_vals = { 'name': 'mag_10000001', 'partner_id': partner.id, 'payment_method_id': payment_method.id, 'order_line': [ (0, 0, { 'product_id': product.id, 'price_unit': 20, 'name': 'My Real Name', 'product_uom_qty': 1, 'sequence': 1, }), ], # fake field for the lines coming from a backend 'backend_order_line': [ (0, 0, { 'product_id': product.id, 'price_unit': 10, 'name': 'Line 2', 'product_uom_qty': 2, 'sequence': 2, }), ], } extra_lines = order_vals['backend_order_line'] onchange = SaleOrderOnChange(env) order = onchange.play(order_vals, extra_lines) self.assertEqual(order['partner_invoice_id'], partner_invoice.id) self.assertEqual(order['payment_term'], payment_term.id) self.assertEqual(len(order['order_line']), 1) line = order['order_line'][0][2] self.assertEqual(line['name'], 'My Real Name') self.assertEqual(line['th_weight'], 15) self.assertEqual(line['tax_id'], [(6, 0, [tax.id])]) line = order['backend_order_line'][0][2] self.assertEqual(line['name'], 'Line 2') self.assertEqual(line['th_weight'], 30) self.assertEqual(line['tax_id'], [(6, 0, [tax.id])])