summaryrefslogtreecommitdiff
path: root/addons/stock/tests/test_stock_location_search.py
blob: a7e27f54f602ce5046665be0a71b9720fc16e9a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# -*- coding: utf-8 -*-

from odoo.tests import common


class TestStockLocationSearch(common.TransactionCase):
    def setUp(self):
        super(TestStockLocationSearch, self).setUp()
        self.location = self.env['stock.location']
        self.stock_location = self.env.ref('stock.stock_location_stock')
        self.sublocation = self.env['stock.location'].create({
            'name': 'Shelf 2',
            'barcode': 1201985,
            'location_id': self.stock_location.id
        })
        self.location_barcode_id = self.sublocation.id
        self.barcode = self.sublocation.barcode
        self.name = self.sublocation.name

    def test_10_location_search_by_barcode(self):
        """Search stock location by barcode"""
        location_names = self.location.name_search(name=self.barcode)
        self.assertEqual(len(location_names), 1)
        location_id_found = location_names[0][0]
        self.assertEqual(self.location_barcode_id, location_id_found)

    def test_20_location_search_by_name(self):
        """Search stock location by name"""
        location_names = self.location.name_search(name=self.name)
        location_ids_found = [location_name[0] for location_name in location_names]
        self.assertTrue(self.location_barcode_id in location_ids_found)

    def test_30_location_search_wo_results(self):
        """Search stock location without results"""
        location_names = self.location.name_search(name='nonexistent')
        self.assertFalse(location_names)