You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

64 regels
1.8 KiB

  1. # Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors
  2. # MIT License. See license.txt
  3. import unittest
  4. import frappe
  5. from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile
  6. from erpnext.selling.page.point_of_sale.point_of_sale import get_items
  7. from erpnext.stock.doctype.item.test_item import make_item
  8. from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
  9. class TestPointOfSale(unittest.TestCase):
  10. @classmethod
  11. def setUpClass(cls) -> None:
  12. frappe.db.savepoint("before_test_point_of_sale")
  13. @classmethod
  14. def tearDownClass(cls) -> None:
  15. frappe.db.rollback(save_point="before_test_point_of_sale")
  16. def test_item_search(self):
  17. """
  18. Test Stock and Service Item Search.
  19. """
  20. pos_profile = make_pos_profile(name="Test POS Profile for Search")
  21. item1 = make_item("Test Search Stock Item", {"is_stock_item": 1})
  22. make_stock_entry(
  23. item_code="Test Search Stock Item",
  24. qty=10,
  25. to_warehouse="_Test Warehouse - _TC",
  26. rate=500,
  27. )
  28. result = get_items(
  29. start=0,
  30. page_length=20,
  31. price_list=None,
  32. item_group=item1.item_group,
  33. pos_profile=pos_profile.name,
  34. search_term="Test Search Stock Item",
  35. )
  36. filtered_items = result.get("items")
  37. self.assertEqual(len(filtered_items), 1)
  38. self.assertEqual(filtered_items[0]["item_code"], item1.item_code)
  39. self.assertEqual(filtered_items[0]["actual_qty"], 10)
  40. item2 = make_item("Test Search Service Item", {"is_stock_item": 0})
  41. result = get_items(
  42. start=0,
  43. page_length=20,
  44. price_list=None,
  45. item_group=item2.item_group,
  46. pos_profile=pos_profile.name,
  47. search_term="Test Search Service Item",
  48. )
  49. filtered_items = result.get("items")
  50. self.assertEqual(len(filtered_items), 1)
  51. self.assertEqual(filtered_items[0]["item_code"], item2.item_code)