test: Add basic tests
diff --git a/erpnext/stock/doctype/pick_ticket/test_pick_ticket.py b/erpnext/stock/doctype/pick_ticket/test_pick_ticket.py
index 3fee6db..3a0492a 100644
--- a/erpnext/stock/doctype/pick_ticket/test_pick_ticket.py
+++ b/erpnext/stock/doctype/pick_ticket/test_pick_ticket.py
@@ -3,21 +3,108 @@
# See license.txt
from __future__ import unicode_literals
-# import frappe
+import frappe
import unittest
+# test_dependencies = ['Item', 'Sales Invoice', 'Stock Entry', 'Batch']
+
+from erpnext.selling.doctype.sales_order.sales_order import make_pick_ticket
class TestPickTicket(unittest.TestCase):
- def test_pick_list_picks_warehouse_for_each_item():
+ def test_pick_ticket_picks_warehouse_for_each_item(self):
+ pick_ticket = frappe.get_doc({
+ 'doctype': 'Pick Ticket',
+ 'company': '_Test Company',
+ 'reference_document_items': [{
+ 'item': '_Test Item Home Desktop 100',
+ 'reference_doctype': 'Sales Order',
+ 'qty': 5,
+ 'reference_name': '_T-Sales Order-1',
+ }],
+ })
+
+ pick_ticket.set_item_locations()
+
+ self.assertEqual(pick_ticket.items[0].item, '_Test Item Home Desktop 100')
+ self.assertEqual(pick_ticket.items[0].warehouse, '_Test Warehouse - _TC')
+ self.assertEqual(pick_ticket.items[0].qty, 5)
+
+ def test_pick_ticket_skips_out_of_stock_item(self):
+ pick_ticket = frappe.get_doc({
+ 'doctype': 'Pick Ticket',
+ 'company': '_Test Company',
+ 'reference_document_items': [{
+ 'item': '_Test Item Warehouse Group Wise Reorder',
+ 'reference_doctype': 'Sales Order',
+ 'qty': 1000,
+ 'reference_name': '_T-Sales Order-1',
+ }],
+ })
+
+ pick_ticket.set_item_locations()
+
+ self.assertEqual(pick_ticket.items[0].item, '_Test Item Warehouse Group Wise Reorder')
+ self.assertEqual(pick_ticket.items[0].warehouse, '_Test Warehouse Group-C1 - _TC')
+ self.assertEqual(pick_ticket.items[0].qty, 30)
+
+
+ def test_pick_ticket_skips_items_in_expired_batch(self):
pass
- def test_pick_list_skips_out_of_warranty_item():
+ def test_pick_ticket_shows_serial_no_for_serialized_item(self):
+
+ stock_reconciliation = frappe.get_doc({
+ 'doctype': 'Stock Reconciliation',
+ 'company': '_Test Company',
+ 'items': [{
+ 'item_code': '_Test Serialized Item',
+ 'warehouse': '_Test Warehouse - _TC',
+ 'qty': 5,
+ 'serial_no': '123450\n123451\n123452\n123453\n123454'
+ }]
+ })
+
+ stock_reconciliation.submit()
+
+ pick_ticket = frappe.get_doc({
+ 'doctype': 'Pick Ticket',
+ 'company': '_Test Company',
+ 'reference_document_items': [{
+ 'item': '_Test Serialized Item',
+ 'reference_doctype': 'Sales Order',
+ 'qty': 1000,
+ 'reference_name': '_T-Sales Order-1',
+ }],
+ })
+
+ pick_ticket.set_item_locations()
+ self.assertEqual(pick_ticket.items[0].item, '_Test Serialized Item')
+ self.assertEqual(pick_ticket.items[0].warehouse, '_Test Warehouse Group-C1 - _TC')
+ self.assertEqual(pick_ticket.items[0].qty, 30)
+ self.assertEqual(pick_ticket.items[0].serial_no, 30)
+
+
+ def test_pick_ticket_for_multiple_reference_doctypes(self):
pass
- def test_pick_list_skips_items_in_expired_batch():
- pass
- def test_pick_list_shows_serial_no_for_serialized_item():
- pass
+# def create_new_pick_ticket():
+# pass
+# doc = frappe.new_doc('Pick Ticket')
+# doc.items.append({
+# 'item': '_Test Warehouse - _TC',
+# ''
+# })
- def test_pick_list_for_multiple_reference_doctypes():
- pass
+
+
+## records required
+
+'''
+batch no
+items
+sales invoice
+stock entries
+ bin
+ stock ledger entry
+warehouses
+'''
\ No newline at end of file