fix: share transfer validations for journal entry (#19018)
* fix share transfer validations for journal entry * fix: share transfer test * fix: tests
This commit is contained in:
parent
e4f8bda1ea
commit
72949e7f73
@ -86,17 +86,23 @@ class ShareTransfer(Document):
|
|||||||
frappe.throw(_('The field From Shareholder cannot be blank'))
|
frappe.throw(_('The field From Shareholder cannot be blank'))
|
||||||
if self.from_folio_no is None or self.from_folio_no is '':
|
if self.from_folio_no is None or self.from_folio_no is '':
|
||||||
self.to_folio_no = self.autoname_folio(self.to_shareholder)
|
self.to_folio_no = self.autoname_folio(self.to_shareholder)
|
||||||
|
if self.asset_account is None:
|
||||||
|
frappe.throw(_('The field Asset Account cannot be blank'))
|
||||||
elif (self.transfer_type == 'Issue'):
|
elif (self.transfer_type == 'Issue'):
|
||||||
self.from_shareholder = ''
|
self.from_shareholder = ''
|
||||||
if self.to_shareholder is None or self.to_shareholder == '':
|
if self.to_shareholder is None or self.to_shareholder == '':
|
||||||
frappe.throw(_('The field To Shareholder cannot be blank'))
|
frappe.throw(_('The field To Shareholder cannot be blank'))
|
||||||
if self.to_folio_no is None or self.to_folio_no is '':
|
if self.to_folio_no is None or self.to_folio_no is '':
|
||||||
self.to_folio_no = self.autoname_folio(self.to_shareholder)
|
self.to_folio_no = self.autoname_folio(self.to_shareholder)
|
||||||
|
if self.asset_account is None:
|
||||||
|
frappe.throw(_('The field Asset Account cannot be blank'))
|
||||||
else:
|
else:
|
||||||
if self.from_shareholder is None or self.to_shareholder is None:
|
if self.from_shareholder is None or self.to_shareholder is None:
|
||||||
frappe.throw(_('The fields From Shareholder and To Shareholder cannot be blank'))
|
frappe.throw(_('The fields From Shareholder and To Shareholder cannot be blank'))
|
||||||
if self.to_folio_no is None or self.to_folio_no is '':
|
if self.to_folio_no is None or self.to_folio_no is '':
|
||||||
self.to_folio_no = self.autoname_folio(self.to_shareholder)
|
self.to_folio_no = self.autoname_folio(self.to_shareholder)
|
||||||
|
if self.equity_or_liability_account is None:
|
||||||
|
frappe.throw(_('The field Equity/Liability Account cannot be blank'))
|
||||||
if self.from_shareholder == self.to_shareholder:
|
if self.from_shareholder == self.to_shareholder:
|
||||||
frappe.throw(_('The seller and the buyer cannot be the same'))
|
frappe.throw(_('The seller and the buyer cannot be the same'))
|
||||||
if self.no_of_shares != self.to_no - self.from_no + 1:
|
if self.no_of_shares != self.to_no - self.from_no + 1:
|
||||||
|
@ -15,67 +15,74 @@ class TestShareTransfer(unittest.TestCase):
|
|||||||
frappe.db.sql("delete from `tabShare Balance`")
|
frappe.db.sql("delete from `tabShare Balance`")
|
||||||
share_transfers = [
|
share_transfers = [
|
||||||
{
|
{
|
||||||
"doctype" : "Share Transfer",
|
"doctype" : "Share Transfer",
|
||||||
"transfer_type" : "Issue",
|
"transfer_type" : "Issue",
|
||||||
"date" : "2018-01-01",
|
"date" : "2018-01-01",
|
||||||
"to_shareholder" : "SH-00001",
|
"to_shareholder" : "SH-00001",
|
||||||
"share_type" : "Equity",
|
"share_type" : "Equity",
|
||||||
"from_no" : 1,
|
"from_no" : 1,
|
||||||
"to_no" : 500,
|
"to_no" : 500,
|
||||||
"no_of_shares" : 500,
|
"no_of_shares" : 500,
|
||||||
"rate" : 10,
|
"rate" : 10,
|
||||||
"company" : "_Test Company"
|
"company" : "_Test Company",
|
||||||
|
"asset_account" : "Cash - _TC",
|
||||||
|
"equity_or_liability_account": "Creditors - _TC"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"doctype" : "Share Transfer",
|
"doctype" : "Share Transfer",
|
||||||
"transfer_type" : "Transfer",
|
"transfer_type" : "Transfer",
|
||||||
"date" : "2018-01-02",
|
"date" : "2018-01-02",
|
||||||
"from_shareholder" : "SH-00001",
|
"from_shareholder" : "SH-00001",
|
||||||
"to_shareholder" : "SH-00002",
|
"to_shareholder" : "SH-00002",
|
||||||
"share_type" : "Equity",
|
"share_type" : "Equity",
|
||||||
"from_no" : 101,
|
"from_no" : 101,
|
||||||
"to_no" : 200,
|
"to_no" : 200,
|
||||||
"no_of_shares" : 100,
|
"no_of_shares" : 100,
|
||||||
"rate" : 15,
|
"rate" : 15,
|
||||||
"company" : "_Test Company"
|
"company" : "_Test Company",
|
||||||
|
"equity_or_liability_account": "Creditors - _TC"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"doctype" : "Share Transfer",
|
"doctype" : "Share Transfer",
|
||||||
"transfer_type" : "Transfer",
|
"transfer_type" : "Transfer",
|
||||||
"date" : "2018-01-03",
|
"date" : "2018-01-03",
|
||||||
"from_shareholder" : "SH-00001",
|
"from_shareholder" : "SH-00001",
|
||||||
"to_shareholder" : "SH-00003",
|
"to_shareholder" : "SH-00003",
|
||||||
"share_type" : "Equity",
|
"share_type" : "Equity",
|
||||||
"from_no" : 201,
|
"from_no" : 201,
|
||||||
"to_no" : 500,
|
"to_no" : 500,
|
||||||
"no_of_shares" : 300,
|
"no_of_shares" : 300,
|
||||||
"rate" : 20,
|
"rate" : 20,
|
||||||
"company" : "_Test Company"
|
"company" : "_Test Company",
|
||||||
|
"equity_or_liability_account": "Creditors - _TC"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"doctype" : "Share Transfer",
|
"doctype" : "Share Transfer",
|
||||||
"transfer_type" : "Transfer",
|
"transfer_type" : "Transfer",
|
||||||
"date" : "2018-01-04",
|
"date" : "2018-01-04",
|
||||||
"from_shareholder" : "SH-00003",
|
"from_shareholder" : "SH-00003",
|
||||||
"to_shareholder" : "SH-00002",
|
"to_shareholder" : "SH-00002",
|
||||||
"share_type" : "Equity",
|
"share_type" : "Equity",
|
||||||
"from_no" : 201,
|
"from_no" : 201,
|
||||||
"to_no" : 400,
|
"to_no" : 400,
|
||||||
"no_of_shares" : 200,
|
"no_of_shares" : 200,
|
||||||
"rate" : 15,
|
"rate" : 15,
|
||||||
"company" : "_Test Company"
|
"company" : "_Test Company",
|
||||||
|
"equity_or_liability_account": "Creditors - _TC"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"doctype" : "Share Transfer",
|
"doctype" : "Share Transfer",
|
||||||
"transfer_type" : "Purchase",
|
"transfer_type" : "Purchase",
|
||||||
"date" : "2018-01-05",
|
"date" : "2018-01-05",
|
||||||
"from_shareholder" : "SH-00003",
|
"from_shareholder" : "SH-00003",
|
||||||
"share_type" : "Equity",
|
"share_type" : "Equity",
|
||||||
"from_no" : 401,
|
"from_no" : 401,
|
||||||
"to_no" : 500,
|
"to_no" : 500,
|
||||||
"no_of_shares" : 100,
|
"no_of_shares" : 100,
|
||||||
"rate" : 25,
|
"rate" : 25,
|
||||||
"company" : "_Test Company"
|
"company" : "_Test Company",
|
||||||
|
"asset_account" : "Cash - _TC",
|
||||||
|
"equity_or_liability_account": "Creditors - _TC"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
for d in share_transfers:
|
for d in share_transfers:
|
||||||
@ -84,30 +91,33 @@ class TestShareTransfer(unittest.TestCase):
|
|||||||
|
|
||||||
def test_invalid_share_transfer(self):
|
def test_invalid_share_transfer(self):
|
||||||
doc = frappe.get_doc({
|
doc = frappe.get_doc({
|
||||||
"doctype" : "Share Transfer",
|
"doctype" : "Share Transfer",
|
||||||
"transfer_type" : "Transfer",
|
"transfer_type" : "Transfer",
|
||||||
"date" : "2018-01-05",
|
"date" : "2018-01-05",
|
||||||
"from_shareholder" : "SH-00003",
|
"from_shareholder" : "SH-00003",
|
||||||
"to_shareholder" : "SH-00002",
|
"to_shareholder" : "SH-00002",
|
||||||
"share_type" : "Equity",
|
"share_type" : "Equity",
|
||||||
"from_no" : 1,
|
"from_no" : 1,
|
||||||
"to_no" : 100,
|
"to_no" : 100,
|
||||||
"no_of_shares" : 100,
|
"no_of_shares" : 100,
|
||||||
"rate" : 15,
|
"rate" : 15,
|
||||||
"company" : "_Test Company"
|
"company" : "_Test Company",
|
||||||
|
"equity_or_liability_account": "Creditors - _TC"
|
||||||
})
|
})
|
||||||
self.assertRaises(ShareDontExists, doc.insert)
|
self.assertRaises(ShareDontExists, doc.insert)
|
||||||
|
|
||||||
doc = frappe.get_doc({
|
doc = frappe.get_doc({
|
||||||
"doctype" : "Share Transfer",
|
"doctype" : "Share Transfer",
|
||||||
"transfer_type" : "Purchase",
|
"transfer_type" : "Purchase",
|
||||||
"date" : "2018-01-02",
|
"date" : "2018-01-02",
|
||||||
"from_shareholder" : "SH-00001",
|
"from_shareholder" : "SH-00001",
|
||||||
"share_type" : "Equity",
|
"share_type" : "Equity",
|
||||||
"from_no" : 1,
|
"from_no" : 1,
|
||||||
"to_no" : 200,
|
"to_no" : 200,
|
||||||
"no_of_shares" : 200,
|
"no_of_shares" : 200,
|
||||||
"rate" : 15,
|
"rate" : 15,
|
||||||
"company" : "_Test Company"
|
"company" : "_Test Company",
|
||||||
|
"asset_account" : "Cash - _TC",
|
||||||
|
"equity_or_liability_account": "Creditors - _TC"
|
||||||
})
|
})
|
||||||
self.assertRaises(ShareDontExists, doc.insert)
|
self.assertRaises(ShareDontExists, doc.insert)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user