64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors
 | |
| # MIT License. See license.txt
 | |
| 
 | |
| import unittest
 | |
| 
 | |
| import frappe
 | |
| 
 | |
| from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile
 | |
| from erpnext.selling.page.point_of_sale.point_of_sale import get_items
 | |
| from erpnext.stock.doctype.item.test_item import make_item
 | |
| from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
 | |
| 
 | |
| 
 | |
| class TestPointOfSale(unittest.TestCase):
 | |
| 	@classmethod
 | |
| 	def setUpClass(cls) -> None:
 | |
| 		frappe.db.savepoint("before_test_point_of_sale")
 | |
| 
 | |
| 	@classmethod
 | |
| 	def tearDownClass(cls) -> None:
 | |
| 		frappe.db.rollback(save_point="before_test_point_of_sale")
 | |
| 
 | |
| 	def test_item_search(self):
 | |
| 		"""
 | |
| 		Test Stock and Service Item Search.
 | |
| 		"""
 | |
| 
 | |
| 		pos_profile = make_pos_profile(name="Test POS Profile for Search")
 | |
| 		item1 = make_item("Test Search Stock Item", {"is_stock_item": 1})
 | |
| 		make_stock_entry(
 | |
| 			item_code="Test Search Stock Item",
 | |
| 			qty=10,
 | |
| 			to_warehouse="_Test Warehouse - _TC",
 | |
| 			rate=500,
 | |
| 		)
 | |
| 
 | |
| 		result = get_items(
 | |
| 			start=0,
 | |
| 			page_length=20,
 | |
| 			price_list=None,
 | |
| 			item_group=item1.item_group,
 | |
| 			pos_profile=pos_profile.name,
 | |
| 			search_term="Test Search Stock Item",
 | |
| 		)
 | |
| 		filtered_items = result.get("items")
 | |
| 
 | |
| 		self.assertEqual(len(filtered_items), 1)
 | |
| 		self.assertEqual(filtered_items[0]["item_code"], item1.item_code)
 | |
| 		self.assertEqual(filtered_items[0]["actual_qty"], 10)
 | |
| 
 | |
| 		item2 = make_item("Test Search Service Item", {"is_stock_item": 0})
 | |
| 		result = get_items(
 | |
| 			start=0,
 | |
| 			page_length=20,
 | |
| 			price_list=None,
 | |
| 			item_group=item2.item_group,
 | |
| 			pos_profile=pos_profile.name,
 | |
| 			search_term="Test Search Service Item",
 | |
| 		)
 | |
| 		filtered_items = result.get("items")
 | |
| 
 | |
| 		self.assertEqual(len(filtered_items), 1)
 | |
| 		self.assertEqual(filtered_items[0]["item_code"], item2.item_code)
 |