mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-27 17:04:47 +00:00
Merge branch 'develop' into add-email-field-to-asset-maintenance-log
This commit is contained in:
2
.github/workflows/server-tests-mariadb.yml
vendored
2
.github/workflows/server-tests-mariadb.yml
vendored
@@ -120,7 +120,7 @@ jobs:
|
|||||||
FRAPPE_BRANCH: ${{ github.event.inputs.branch }}
|
FRAPPE_BRANCH: ${{ github.event.inputs.branch }}
|
||||||
|
|
||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: 'cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --app erpnext --total-builds 4 --build-number ${{ matrix.container }}'
|
run: 'cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --app erpnext --total-builds ${{ strategy.job-total }} --build-number ${{ matrix.container }}'
|
||||||
env:
|
env:
|
||||||
TYPE: server
|
TYPE: server
|
||||||
CAPTURE_COVERAGE: ${{ github.event_name != 'pull_request' }}
|
CAPTURE_COVERAGE: ${{ github.event_name != 'pull_request' }}
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# License: GNU General Public License v3. See license.txt
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.test_runner import make_test_records
|
from frappe.tests import IntegrationTestCase
|
||||||
|
from frappe.tests.utils import make_test_records
|
||||||
from frappe.utils import nowdate
|
from frappe.utils import nowdate
|
||||||
|
|
||||||
from erpnext.accounts.doctype.account.account import (
|
from erpnext.accounts.doctype.account.account import (
|
||||||
@@ -15,10 +14,10 @@ from erpnext.accounts.doctype.account.account import (
|
|||||||
)
|
)
|
||||||
from erpnext.stock import get_company_default_inventory_account, get_warehouse_account
|
from erpnext.stock import get_company_default_inventory_account, get_warehouse_account
|
||||||
|
|
||||||
test_dependencies = ["Company"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Company"]
|
||||||
|
|
||||||
|
|
||||||
class TestAccount(unittest.TestCase):
|
class TestAccount(IntegrationTestCase):
|
||||||
def test_rename_account(self):
|
def test_rename_account(self):
|
||||||
if not frappe.db.exists("Account", "1210 - Debtors - _TC"):
|
if not frappe.db.exists("Account", "1210 - Debtors - _TC"):
|
||||||
acc = frappe.new_doc("Account")
|
acc = frappe.new_doc("Account")
|
||||||
|
|||||||
@@ -2,8 +2,17 @@
|
|||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestAccountClosingBalance(FrappeTestCase):
|
class UnitTestAccountClosingBalance(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for AccountClosingBalance.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestAccountClosingBalance(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
|
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
|
||||||
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
||||||
|
|
||||||
test_dependencies = ["Cost Center", "Location", "Warehouse", "Department"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Cost Center", "Location", "Warehouse", "Department"]
|
||||||
|
|
||||||
|
|
||||||
class TestAccountingDimension(unittest.TestCase):
|
class TestAccountingDimension(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
create_dimension()
|
create_dimension()
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ from erpnext.accounts.doctype.accounting_dimension.test_accounting_dimension imp
|
|||||||
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
||||||
from erpnext.exceptions import InvalidAccountDimensionError, MandatoryAccountDimensionError
|
from erpnext.exceptions import InvalidAccountDimensionError, MandatoryAccountDimensionError
|
||||||
|
|
||||||
test_dependencies = ["Location", "Cost Center", "Department"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Location", "Cost Center", "Department"]
|
||||||
|
|
||||||
|
|
||||||
class TestAccountingDimensionFilter(unittest.TestCase):
|
class TestAccountingDimensionFilter(unittest.TestCase):
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import add_months, nowdate
|
from frappe.utils import add_months, nowdate
|
||||||
|
|
||||||
from erpnext.accounts.doctype.accounting_period.accounting_period import (
|
from erpnext.accounts.doctype.accounting_period.accounting_period import (
|
||||||
@@ -12,10 +12,10 @@ from erpnext.accounts.doctype.accounting_period.accounting_period import (
|
|||||||
)
|
)
|
||||||
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
||||||
|
|
||||||
test_dependencies = ["Item"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Item"]
|
||||||
|
|
||||||
|
|
||||||
class TestAccountingPeriod(unittest.TestCase):
|
class TestAccountingPeriod(IntegrationTestCase):
|
||||||
def test_overlap(self):
|
def test_overlap(self):
|
||||||
ap1 = create_accounting_period(
|
ap1 = create_accounting_period(
|
||||||
start_date="2018-04-01", end_date="2018-06-30", company="Wind Power LLC"
|
start_date="2018-04-01", end_date="2018-06-30", company="Wind Power LLC"
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestAccountsSettings(unittest.TestCase):
|
class TestAccountsSettings(IntegrationTestCase):
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
# Just in case `save` method succeeds, we need to take things back to default so that other tests
|
# Just in case `save` method succeeds, we need to take things back to default so that other tests
|
||||||
# don't break
|
# don't break
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestBank(unittest.TestCase):
|
|
||||||
|
class TestBank(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -208,8 +208,54 @@
|
|||||||
"label": "Disabled"
|
"label": "Disabled"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"links": [],
|
"links": [
|
||||||
"modified": "2024-03-27 13:06:37.049542",
|
{
|
||||||
|
"group": "Transactions",
|
||||||
|
"link_doctype": "Payment Request",
|
||||||
|
"link_fieldname": "bank_account"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Transactions",
|
||||||
|
"link_doctype": "Payment Order",
|
||||||
|
"link_fieldname": "bank_account"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Transactions",
|
||||||
|
"link_doctype": "Bank Guarantee",
|
||||||
|
"link_fieldname": "bank_account"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Transactions",
|
||||||
|
"link_doctype": "Payroll Entry",
|
||||||
|
"link_fieldname": "bank_account"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Transactions",
|
||||||
|
"link_doctype": "Bank Transaction",
|
||||||
|
"link_fieldname": "bank_account"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Accounting",
|
||||||
|
"link_doctype": "Payment Entry",
|
||||||
|
"link_fieldname": "bank_account"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Accounting",
|
||||||
|
"link_doctype": "Journal Entry",
|
||||||
|
"link_fieldname": "bank_account"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Party",
|
||||||
|
"link_doctype": "Customer",
|
||||||
|
"link_fieldname": "default_bank_account"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group": "Party",
|
||||||
|
"link_doctype": "Supplier",
|
||||||
|
"link_fieldname": "default_bank_account"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"modified": "2024-09-24 06:57:41.292970",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Accounts",
|
"module": "Accounts",
|
||||||
"name": "Bank Account",
|
"name": "Bank Account",
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
from frappe import _
|
|
||||||
|
|
||||||
|
|
||||||
def get_data():
|
|
||||||
return {
|
|
||||||
"fieldname": "bank_account",
|
|
||||||
"non_standard_fieldnames": {
|
|
||||||
"Customer": "default_bank_account",
|
|
||||||
"Supplier": "default_bank_account",
|
|
||||||
},
|
|
||||||
"transactions": [
|
|
||||||
{
|
|
||||||
"label": _("Payments"),
|
|
||||||
"items": ["Payment Entry", "Payment Request", "Payment Order", "Payroll Entry"],
|
|
||||||
},
|
|
||||||
{"label": _("Party"), "items": ["Customer", "Supplier"]},
|
|
||||||
{"items": ["Bank Guarantee"]},
|
|
||||||
{"items": ["Journal Entry"]},
|
|
||||||
],
|
|
||||||
}
|
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe import ValidationError
|
from frappe import ValidationError
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
# test_records = frappe.get_test_records('Bank Account')
|
# test_records = frappe.get_test_records('Bank Account')
|
||||||
|
|
||||||
|
|
||||||
class TestBankAccount(unittest.TestCase):
|
class TestBankAccount(IntegrationTestCase):
|
||||||
def test_validate_iban(self):
|
def test_validate_iban(self):
|
||||||
valid_ibans = [
|
valid_ibans = [
|
||||||
"GB82 WEST 1234 5698 7654 32",
|
"GB82 WEST 1234 5698 7654 32",
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestBankAccountSubtype(unittest.TestCase):
|
|
||||||
|
class TestBankAccountSubtype(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestBankAccountType(unittest.TestCase):
|
|
||||||
|
class TestBankAccountType(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import add_months, getdate
|
from frappe.utils import add_months, getdate
|
||||||
|
|
||||||
from erpnext.accounts.doctype.cost_center.test_cost_center import create_cost_center
|
from erpnext.accounts.doctype.cost_center.test_cost_center import create_cost_center
|
||||||
@@ -15,7 +15,7 @@ from erpnext.stock.doctype.warehouse.test_warehouse import create_warehouse
|
|||||||
from erpnext.tests.utils import if_lending_app_installed, if_lending_app_not_installed
|
from erpnext.tests.utils import if_lending_app_installed, if_lending_app_not_installed
|
||||||
|
|
||||||
|
|
||||||
class TestBankClearance(unittest.TestCase):
|
class TestBankClearance(IntegrationTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
create_warehouse(
|
create_warehouse(
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestBankGuarantee(unittest.TestCase):
|
|
||||||
|
class TestBankGuarantee(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe import qb
|
from frappe import qb
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import add_days, today
|
from frappe.utils import add_days, today
|
||||||
|
|
||||||
from erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool import (
|
from erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool import (
|
||||||
@@ -15,7 +15,7 @@ from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_pay
|
|||||||
from erpnext.accounts.test.accounts_mixin import AccountsTestMixin
|
from erpnext.accounts.test.accounts_mixin import AccountsTestMixin
|
||||||
|
|
||||||
|
|
||||||
class TestBankReconciliationTool(AccountsTestMixin, FrappeTestCase):
|
class TestBankReconciliationTool(AccountsTestMixin, IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.create_company()
|
self.create_company()
|
||||||
self.create_customer()
|
self.create_customer()
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
# Copyright (c) 2020, Frappe Technologies and Contributors
|
# Copyright (c) 2020, Frappe Technologies and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestBankStatementImport(unittest.TestCase):
|
|
||||||
|
class TestBankStatementImport(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -2,13 +2,22 @@
|
|||||||
# License: GNU General Public License v3. See license.txt
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
from frappe.utils import nowdate
|
from frappe.utils import nowdate
|
||||||
|
|
||||||
from erpnext.accounts.doctype.bank_transaction.test_bank_transaction import create_bank_account
|
from erpnext.accounts.doctype.bank_transaction.test_bank_transaction import create_bank_account
|
||||||
|
|
||||||
|
|
||||||
class TestAutoMatchParty(FrappeTestCase):
|
class UnitTestBankTransaction(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for BankTransaction.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestAutoMatchParty(IntegrationTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
create_bank_account()
|
create_bank_account()
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import json
|
|||||||
import frappe
|
import frappe
|
||||||
from frappe import utils
|
from frappe import utils
|
||||||
from frappe.model.docstatus import DocStatus
|
from frappe.model.docstatus import DocStatus
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool import (
|
from erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool import (
|
||||||
get_linked_payments,
|
get_linked_payments,
|
||||||
@@ -18,10 +18,19 @@ from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make
|
|||||||
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
||||||
from erpnext.tests.utils import if_lending_app_installed
|
from erpnext.tests.utils import if_lending_app_installed
|
||||||
|
|
||||||
test_dependencies = ["Item", "Cost Center"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Item", "Cost Center"]
|
||||||
|
|
||||||
|
|
||||||
class TestBankTransaction(FrappeTestCase):
|
class UnitTestBankTransaction(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for BankTransaction.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestBankTransaction(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
for dt in [
|
for dt in [
|
||||||
"Bank Transaction",
|
"Bank Transaction",
|
||||||
|
|||||||
@@ -2,8 +2,17 @@
|
|||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestBisectAccountingStatements(FrappeTestCase):
|
class UnitTestBisectAccountingStatements(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for BisectAccountingStatements.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestBisectAccountingStatements(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -2,8 +2,17 @@
|
|||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestBisectNodes(FrappeTestCase):
|
class UnitTestBisectNodes(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for BisectNodes.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestBisectNodes(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import now_datetime, nowdate
|
from frappe.utils import now_datetime, nowdate
|
||||||
|
|
||||||
from erpnext.accounts.doctype.budget.budget import BudgetError, get_actual_expense
|
from erpnext.accounts.doctype.budget.budget import BudgetError, get_actual_expense
|
||||||
@@ -11,10 +11,10 @@ from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journ
|
|||||||
from erpnext.accounts.utils import get_fiscal_year
|
from erpnext.accounts.utils import get_fiscal_year
|
||||||
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
|
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
|
||||||
|
|
||||||
test_dependencies = ["Monthly Distribution"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Monthly Distribution"]
|
||||||
|
|
||||||
|
|
||||||
class TestBudget(unittest.TestCase):
|
class TestBudget(IntegrationTestCase):
|
||||||
def test_monthly_budget_crossed_ignore(self):
|
def test_monthly_budget_crossed_ignore(self):
|
||||||
set_total_expense_zero(nowdate(), "cost_center")
|
set_total_expense_zero(nowdate(), "cost_center")
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestCashierClosing(unittest.TestCase):
|
|
||||||
|
class TestCashierClosing(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestChartofAccountsImporter(unittest.TestCase):
|
|
||||||
|
class TestChartofAccountsImporter(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
# test_records = frappe.get_test_records('Cheque Print Template')
|
# test_records = frappe.get_test_records('Cheque Print Template')
|
||||||
|
|
||||||
|
|
||||||
class TestChequePrintTemplate(unittest.TestCase):
|
class TestChequePrintTemplate(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# License: GNU General Public License v3. See license.txt
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
test_records = frappe.get_test_records("Cost Center")
|
test_records = frappe.get_test_records("Cost Center")
|
||||||
|
|
||||||
|
|
||||||
class TestCostCenter(unittest.TestCase):
|
class TestCostCenter(IntegrationTestCase):
|
||||||
def test_cost_center_creation_against_child_node(self):
|
def test_cost_center_creation_against_child_node(self):
|
||||||
if not frappe.db.get_value("Cost Center", {"name": "_Test Cost Center 2 - _TC"}):
|
if not frappe.db.get_value("Cost Center", {"name": "_Test Cost Center 2 - _TC"}):
|
||||||
frappe.get_doc(test_records[1]).insert()
|
frappe.get_doc(test_records[1]).insert()
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import add_days, today
|
from frappe.utils import add_days, today
|
||||||
|
|
||||||
from erpnext.accounts.doctype.cost_center.test_cost_center import create_cost_center
|
from erpnext.accounts.doctype.cost_center.test_cost_center import create_cost_center
|
||||||
@@ -17,7 +17,7 @@ from erpnext.accounts.doctype.cost_center_allocation.cost_center_allocation impo
|
|||||||
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
|
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
|
||||||
|
|
||||||
|
|
||||||
class TestCostCenterAllocation(unittest.TestCase):
|
class TestCostCenterAllocation(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
cost_centers = [
|
cost_centers = [
|
||||||
"Main Cost Center 1",
|
"Main Cost Center 1",
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
|
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
|
||||||
|
|
||||||
test_dependencies = ["Item"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Item"]
|
||||||
|
|
||||||
|
|
||||||
def test_create_test_data():
|
def test_create_test_data():
|
||||||
@@ -110,7 +110,7 @@ def test_create_test_data():
|
|||||||
coupon_code.insert()
|
coupon_code.insert()
|
||||||
|
|
||||||
|
|
||||||
class TestCouponCode(unittest.TestCase):
|
class TestCouponCode(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
test_create_test_data()
|
test_create_test_data()
|
||||||
|
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ def get_api_endpoint(service_provider: str | None = None, use_http: bool = False
|
|||||||
if service_provider == "exchangerate.host":
|
if service_provider == "exchangerate.host":
|
||||||
api = "api.exchangerate.host/convert"
|
api = "api.exchangerate.host/convert"
|
||||||
elif service_provider == "frankfurter.app":
|
elif service_provider == "frankfurter.app":
|
||||||
api = "frankfurter.app/{transaction_date}"
|
api = "api.frankfurter.app/{transaction_date}"
|
||||||
|
|
||||||
protocol = "https://"
|
protocol = "https://"
|
||||||
if use_http:
|
if use_http:
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
# Copyright (c) 2021, Wahni Green Technologies Pvt. Ltd. and contributors
|
# Copyright (c) 2021, Wahni Green Technologies Pvt. Ltd. and contributors
|
||||||
# For license information, please see license.txt
|
# For license information, please see license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestCurrencyExchangeSettings(unittest.TestCase):
|
|
||||||
|
class TestCurrencyExchangeSettings(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -220,19 +220,31 @@ def get_linked_dunnings_as_per_state(sales_invoice, state):
|
|||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_dunning_letter_text(dunning_type, doc, language=None):
|
def get_dunning_letter_text(dunning_type: str, doc: str | dict, language: str | None = None) -> dict:
|
||||||
|
DOCTYPE = "Dunning Letter Text"
|
||||||
|
FIELDS = ["body_text", "closing_text", "language"]
|
||||||
|
|
||||||
if isinstance(doc, str):
|
if isinstance(doc, str):
|
||||||
doc = json.loads(doc)
|
doc = json.loads(doc)
|
||||||
|
|
||||||
|
if not language:
|
||||||
|
language = doc.get("language")
|
||||||
|
|
||||||
if language:
|
if language:
|
||||||
filters = {"parent": dunning_type, "language": language}
|
letter_text = frappe.db.get_value(
|
||||||
else:
|
DOCTYPE, {"parent": dunning_type, "language": language}, FIELDS, as_dict=1
|
||||||
filters = {"parent": dunning_type, "is_default_language": 1}
|
)
|
||||||
letter_text = frappe.db.get_value(
|
|
||||||
"Dunning Letter Text", filters, ["body_text", "closing_text", "language"], as_dict=1
|
if not letter_text:
|
||||||
)
|
letter_text = frappe.db.get_value(
|
||||||
if letter_text:
|
DOCTYPE, {"parent": dunning_type, "is_default_language": 1}, FIELDS, as_dict=1
|
||||||
return {
|
)
|
||||||
"body_text": frappe.render_template(letter_text.body_text, doc),
|
|
||||||
"closing_text": frappe.render_template(letter_text.closing_text, doc),
|
if not letter_text:
|
||||||
"language": letter_text.language,
|
return {}
|
||||||
}
|
|
||||||
|
return {
|
||||||
|
"body_text": frappe.render_template(letter_text.body_text, doc),
|
||||||
|
"closing_text": frappe.render_template(letter_text.closing_text, doc),
|
||||||
|
"language": letter_text.language,
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
from frappe.utils import add_days, nowdate, today
|
from frappe.utils import add_days, nowdate, today
|
||||||
|
|
||||||
from erpnext import get_default_cost_center
|
from erpnext import get_default_cost_center
|
||||||
@@ -16,10 +16,19 @@ from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import (
|
|||||||
create_sales_invoice_against_cost_center,
|
create_sales_invoice_against_cost_center,
|
||||||
)
|
)
|
||||||
|
|
||||||
test_dependencies = ["Company", "Cost Center"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Company", "Cost Center"]
|
||||||
|
|
||||||
|
|
||||||
class TestDunning(FrappeTestCase):
|
class UnitTestDunning(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for Dunning.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestDunning(IntegrationTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
super().setUpClass()
|
super().setUpClass()
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestDunningType(unittest.TestCase):
|
|
||||||
|
class TestDunningType(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase, change_settings
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import add_days, flt, today
|
from frappe.utils import add_days, flt, today
|
||||||
|
|
||||||
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
||||||
@@ -11,7 +11,7 @@ from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sal
|
|||||||
from erpnext.accounts.test.accounts_mixin import AccountsTestMixin
|
from erpnext.accounts.test.accounts_mixin import AccountsTestMixin
|
||||||
|
|
||||||
|
|
||||||
class TestExchangeRateRevaluation(AccountsTestMixin, FrappeTestCase):
|
class TestExchangeRateRevaluation(AccountsTestMixin, IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.create_company()
|
self.create_company()
|
||||||
self.create_usd_receivable_account()
|
self.create_usd_receivable_account()
|
||||||
@@ -35,7 +35,7 @@ class TestExchangeRateRevaluation(AccountsTestMixin, FrappeTestCase):
|
|||||||
company_doc.unrealized_exchange_gain_loss_account = company_doc.exchange_gain_loss_account
|
company_doc.unrealized_exchange_gain_loss_account = company_doc.exchange_gain_loss_account
|
||||||
company_doc.save()
|
company_doc.save()
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{"allow_multi_currency_invoices_against_single_party_account": 1, "allow_stale": 0},
|
{"allow_multi_currency_invoices_against_single_party_account": 1, "allow_stale": 0},
|
||||||
)
|
)
|
||||||
@@ -88,7 +88,7 @@ class TestExchangeRateRevaluation(AccountsTestMixin, FrappeTestCase):
|
|||||||
)[0]
|
)[0]
|
||||||
self.assertEqual(acc_balance.balance, 8500.0)
|
self.assertEqual(acc_balance.balance, 8500.0)
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{"allow_multi_currency_invoices_against_single_party_account": 1, "allow_stale": 0},
|
{"allow_multi_currency_invoices_against_single_party_account": 1, "allow_stale": 0},
|
||||||
)
|
)
|
||||||
@@ -158,7 +158,7 @@ class TestExchangeRateRevaluation(AccountsTestMixin, FrappeTestCase):
|
|||||||
self.assertEqual(acc_balance.balance, 0.0)
|
self.assertEqual(acc_balance.balance, 0.0)
|
||||||
self.assertEqual(acc_balance.balance_in_account_currency, 0.0)
|
self.assertEqual(acc_balance.balance_in_account_currency, 0.0)
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{"allow_multi_currency_invoices_against_single_party_account": 1, "allow_stale": 0},
|
{"allow_multi_currency_invoices_against_single_party_account": 1, "allow_stale": 0},
|
||||||
)
|
)
|
||||||
@@ -247,7 +247,7 @@ class TestExchangeRateRevaluation(AccountsTestMixin, FrappeTestCase):
|
|||||||
self.assertEqual(flt(acc_balance.balance, precision), 0.0)
|
self.assertEqual(flt(acc_balance.balance, precision), 0.0)
|
||||||
self.assertEqual(flt(acc_balance.balance_in_account_currency, precision), 0.0)
|
self.assertEqual(flt(acc_balance.balance_in_account_currency, precision), 0.0)
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{"allow_multi_currency_invoices_against_single_party_account": 1, "allow_stale": 0},
|
{"allow_multi_currency_invoices_against_single_party_account": 1, "allow_stale": 0},
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
|
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
|
||||||
|
|
||||||
|
|
||||||
class TestFinanceBook(unittest.TestCase):
|
class TestFinanceBook(IntegrationTestCase):
|
||||||
def test_finance_book(self):
|
def test_finance_book(self):
|
||||||
finance_book = create_finance_book()
|
finance_book = create_finance_book()
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,15 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# License: GNU General Public License v3. See license.txt
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import now_datetime
|
from frappe.utils import now_datetime
|
||||||
|
|
||||||
test_ignore = ["Company"]
|
IGNORE_TEST_RECORD_DEPENDENCIES = ["Company"]
|
||||||
|
|
||||||
|
|
||||||
class TestFiscalYear(unittest.TestCase):
|
class TestFiscalYear(IntegrationTestCase):
|
||||||
def test_extra_year(self):
|
def test_extra_year(self):
|
||||||
if frappe.db.exists("Fiscal Year", "_Test Fiscal Year 2000"):
|
if frappe.db.exists("Fiscal Year", "_Test Fiscal Year 2000"):
|
||||||
frappe.delete_doc("Fiscal Year", "_Test Fiscal Year 2000")
|
frappe.delete_doc("Fiscal Year", "_Test Fiscal Year 2000")
|
||||||
|
|||||||
@@ -1,17 +1,16 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# License: GNU General Public License v3. See license.txt
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.model.naming import parse_naming_series
|
from frappe.model.naming import parse_naming_series
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.gl_entry.gl_entry import rename_gle_sle_docs
|
from erpnext.accounts.doctype.gl_entry.gl_entry import rename_gle_sle_docs
|
||||||
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
|
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
|
||||||
|
|
||||||
|
|
||||||
class TestGLEntry(unittest.TestCase):
|
class TestGLEntry(IntegrationTestCase):
|
||||||
def test_round_off_entry(self):
|
def test_round_off_entry(self):
|
||||||
frappe.db.set_value("Company", "_Test Company", "round_off_account", "_Test Write Off - _TC")
|
frappe.db.set_value("Company", "_Test Company", "round_off_account", "_Test Write Off - _TC")
|
||||||
frappe.db.set_value("Company", "_Test Company", "round_off_cost_center", "_Test Cost Center - _TC")
|
frappe.db.set_value("Company", "_Test Company", "round_off_cost_center", "_Test Cost Center - _TC")
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import add_days, flt, nowdate
|
from frappe.utils import add_days, flt, nowdate
|
||||||
|
|
||||||
from erpnext.accounts.doctype.account.test_account import create_account
|
from erpnext.accounts.doctype.account.test_account import create_account
|
||||||
@@ -12,7 +12,7 @@ from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sal
|
|||||||
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries
|
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import get_gl_entries
|
||||||
|
|
||||||
|
|
||||||
class TestInvoiceDiscounting(unittest.TestCase):
|
class TestInvoiceDiscounting(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.ar_credit = create_account(
|
self.ar_credit = create_account(
|
||||||
account_name="_Test Accounts Receivable Credit",
|
account_name="_Test Accounts Receivable Credit",
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestItemTaxTemplate(unittest.TestCase):
|
|
||||||
|
class TestItemTaxTemplate(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# License: GNU General Public License v3. See license.txt
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
|
|
||||||
import unittest
|
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
from frappe.tests.utils import change_settings
|
from frappe.tests.utils import change_settings
|
||||||
from frappe.utils import flt, nowdate
|
from frappe.utils import flt, nowdate
|
||||||
|
|
||||||
@@ -13,8 +11,19 @@ from erpnext.accounts.doctype.journal_entry.journal_entry import StockAccountInv
|
|||||||
from erpnext.exceptions import InvalidAccountCurrency
|
from erpnext.exceptions import InvalidAccountCurrency
|
||||||
|
|
||||||
|
|
||||||
class TestJournalEntry(unittest.TestCase):
|
class UnitTestJournalEntry(UnitTestCase):
|
||||||
@change_settings("Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1})
|
"""
|
||||||
|
Unit tests for JournalEntry.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestJournalEntry(IntegrationTestCase):
|
||||||
|
@IntegrationTestCase.change_settings(
|
||||||
|
"Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1}
|
||||||
|
)
|
||||||
def test_journal_entry_with_against_jv(self):
|
def test_journal_entry_with_against_jv(self):
|
||||||
jv_invoice = frappe.copy_doc(test_records[2])
|
jv_invoice = frappe.copy_doc(test_records[2])
|
||||||
base_jv = frappe.copy_doc(test_records[0])
|
base_jv = frappe.copy_doc(test_records[0])
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestJournalEntryTemplate(unittest.TestCase):
|
|
||||||
|
class TestJournalEntryTemplate(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -3,14 +3,14 @@
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe import qb
|
from frappe import qb
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import nowdate
|
from frappe.utils import nowdate
|
||||||
|
|
||||||
from erpnext.accounts.test.accounts_mixin import AccountsTestMixin
|
from erpnext.accounts.test.accounts_mixin import AccountsTestMixin
|
||||||
from erpnext.accounts.utils import run_ledger_health_checks
|
from erpnext.accounts.utils import run_ledger_health_checks
|
||||||
|
|
||||||
|
|
||||||
class TestLedgerHealth(AccountsTestMixin, FrappeTestCase):
|
class TestLedgerHealth(AccountsTestMixin, IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.create_company()
|
self.create_company()
|
||||||
self.create_customer()
|
self.create_customer()
|
||||||
|
|||||||
@@ -2,8 +2,17 @@
|
|||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestLedgerHealthMonitor(FrappeTestCase):
|
class UnitTestLedgerHealthMonitor(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for LedgerHealthMonitor.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestLedgerHealthMonitor(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
# Copyright (c) 2021, Wahni Green Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2021, Wahni Green Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.ledger_merge.ledger_merge import start_merge
|
from erpnext.accounts.doctype.ledger_merge.ledger_merge import start_merge
|
||||||
|
|
||||||
|
|
||||||
class TestLedgerMerge(unittest.TestCase):
|
class TestLedgerMerge(IntegrationTestCase):
|
||||||
def test_merge_success(self):
|
def test_merge_success(self):
|
||||||
if not frappe.db.exists("Account", "Indirect Expenses - _TC"):
|
if not frappe.db.exists("Account", "Indirect Expenses - _TC"):
|
||||||
acc = frappe.new_doc("Account")
|
acc = frappe.new_doc("Account")
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import today
|
from frappe.utils import today
|
||||||
|
|
||||||
from erpnext.accounts.doctype.loyalty_program.test_loyalty_program import create_records
|
from erpnext.accounts.doctype.loyalty_program.test_loyalty_program import create_records
|
||||||
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
||||||
|
|
||||||
|
|
||||||
class TestLoyaltyPointEntry(unittest.TestCase):
|
class TestLoyaltyPointEntry(IntegrationTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
# Create test records
|
# Create test records
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import cint, flt, getdate, today
|
from frappe.utils import cint, flt, getdate, today
|
||||||
|
|
||||||
from erpnext.accounts.doctype.loyalty_program.loyalty_program import (
|
from erpnext.accounts.doctype.loyalty_program.loyalty_program import (
|
||||||
@@ -13,7 +13,7 @@ from erpnext.accounts.doctype.loyalty_program.loyalty_program import (
|
|||||||
from erpnext.accounts.party import get_dashboard_info
|
from erpnext.accounts.party import get_dashboard_info
|
||||||
|
|
||||||
|
|
||||||
class TestLoyaltyProgram(unittest.TestCase):
|
class TestLoyaltyProgram(IntegrationTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(self):
|
def setUpClass(self):
|
||||||
# create relevant item, customer, loyalty program, etc
|
# create relevant item, customer, loyalty program, etc
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
# test_records = frappe.get_test_records('Mode of Payment')
|
# test_records = frappe.get_test_records('Mode of Payment')
|
||||||
|
|
||||||
|
|
||||||
class TestModeofPayment(unittest.TestCase):
|
class TestModeofPayment(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
test_records = frappe.get_test_records("Monthly Distribution")
|
test_records = frappe.get_test_records("Monthly Distribution")
|
||||||
|
|
||||||
|
|
||||||
class TestMonthlyDistribution(unittest.TestCase):
|
class TestMonthlyDistribution(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.accounting_dimension.test_accounting_dimension import (
|
from erpnext.accounts.doctype.accounting_dimension.test_accounting_dimension import (
|
||||||
create_dimension,
|
create_dimension,
|
||||||
@@ -12,10 +12,19 @@ from erpnext.accounts.doctype.opening_invoice_creation_tool.opening_invoice_crea
|
|||||||
get_temporary_opening_account,
|
get_temporary_opening_account,
|
||||||
)
|
)
|
||||||
|
|
||||||
test_dependencies = ["Customer", "Supplier", "Accounting Dimension"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Customer", "Supplier", "Accounting Dimension"]
|
||||||
|
|
||||||
|
|
||||||
class TestOpeningInvoiceCreationTool(FrappeTestCase):
|
class UnitTestOpeningInvoiceCreationTool(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for OpeningInvoiceCreationTool.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestOpeningInvoiceCreationTool(IntegrationTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(self):
|
def setUpClass(self):
|
||||||
if not frappe.db.exists("Company", "_Test Opening Invoice Company"):
|
if not frappe.db.exists("Company", "_Test Opening Invoice Company"):
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
# Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2021, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestPartyLink(unittest.TestCase):
|
|
||||||
|
class TestPartyLink(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe import qb
|
from frappe import qb
|
||||||
from frappe.tests.utils import FrappeTestCase, change_settings
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
from frappe.utils import add_days, flt, nowdate
|
from frappe.utils import add_days, flt, nowdate
|
||||||
|
|
||||||
from erpnext.accounts.doctype.account.test_account import create_account
|
from erpnext.accounts.doctype.account.test_account import create_account
|
||||||
@@ -25,10 +25,19 @@ from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import (
|
|||||||
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
|
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
|
||||||
from erpnext.setup.doctype.employee.test_employee import make_employee
|
from erpnext.setup.doctype.employee.test_employee import make_employee
|
||||||
|
|
||||||
test_dependencies = ["Item"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Item"]
|
||||||
|
|
||||||
|
|
||||||
class TestPaymentEntry(FrappeTestCase):
|
class UnitTestPaymentEntry(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for PaymentEntry.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestPaymentEntry(IntegrationTestCase):
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
frappe.db.rollback()
|
frappe.db.rollback()
|
||||||
|
|
||||||
@@ -383,7 +392,7 @@ class TestPaymentEntry(FrappeTestCase):
|
|||||||
self.assertEqual(si.payment_schedule[0].outstanding, 0)
|
self.assertEqual(si.payment_schedule[0].outstanding, 0)
|
||||||
self.assertEqual(si.payment_schedule[0].discounted_amount, 50)
|
self.assertEqual(si.payment_schedule[0].discounted_amount, 50)
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{
|
{
|
||||||
"allow_multi_currency_invoices_against_single_party_account": 1,
|
"allow_multi_currency_invoices_against_single_party_account": 1,
|
||||||
@@ -1090,7 +1099,7 @@ class TestPaymentEntry(FrappeTestCase):
|
|||||||
}
|
}
|
||||||
self.assertDictEqual(ref_details, expected_response)
|
self.assertDictEqual(ref_details, expected_response)
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{
|
{
|
||||||
"unlink_payment_on_cancellation_of_invoice": 1,
|
"unlink_payment_on_cancellation_of_invoice": 1,
|
||||||
@@ -1185,7 +1194,7 @@ class TestPaymentEntry(FrappeTestCase):
|
|||||||
si3.cancel()
|
si3.cancel()
|
||||||
si3.delete()
|
si3.delete()
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{
|
{
|
||||||
"unlink_payment_on_cancellation_of_invoice": 1,
|
"unlink_payment_on_cancellation_of_invoice": 1,
|
||||||
@@ -1791,7 +1800,7 @@ class TestPaymentEntry(FrappeTestCase):
|
|||||||
# 'Is Opening' should always be 'No' for normal advance payments
|
# 'Is Opening' should always be 'No' for normal advance payments
|
||||||
self.assertEqual(gl_with_opening_set, [])
|
self.assertEqual(gl_with_opening_set, [])
|
||||||
|
|
||||||
@change_settings("Accounts Settings", {"delete_linked_ledger_entries": 1})
|
@IntegrationTestCase.change_settings("Accounts Settings", {"delete_linked_ledger_entries": 1})
|
||||||
def test_delete_linked_exchange_gain_loss_journal(self):
|
def test_delete_linked_exchange_gain_loss_journal(self):
|
||||||
from erpnext.accounts.doctype.account.test_account import create_account
|
from erpnext.accounts.doctype.account.test_account import create_account
|
||||||
from erpnext.accounts.doctype.opening_invoice_creation_tool.test_opening_invoice_creation_tool import (
|
from erpnext.accounts.doctype.opening_invoice_creation_tool.test_opening_invoice_creation_tool import (
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
# test_records = frappe.get_test_records('Payment Gateway Account')
|
# test_records = frappe.get_test_records('Payment Gateway Account')
|
||||||
|
|
||||||
test_ignore = ["Payment Gateway"]
|
IGNORE_TEST_RECORD_DEPENDENCIES = ["Payment Gateway"]
|
||||||
|
|
||||||
|
|
||||||
class TestPaymentGatewayAccount(unittest.TestCase):
|
class TestPaymentGatewayAccount(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe import qb
|
from frappe import qb
|
||||||
from frappe.tests.utils import FrappeTestCase, change_settings
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
from frappe.utils import nowdate
|
from frappe.utils import nowdate
|
||||||
|
|
||||||
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
||||||
@@ -13,7 +13,16 @@ from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_orde
|
|||||||
from erpnext.stock.doctype.item.test_item import create_item
|
from erpnext.stock.doctype.item.test_item import create_item
|
||||||
|
|
||||||
|
|
||||||
class TestPaymentLedgerEntry(FrappeTestCase):
|
class UnitTestPaymentLedgerEntry(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for PaymentLedgerEntry.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestPaymentLedgerEntry(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.ple = qb.DocType("Payment Ledger Entry")
|
self.ple = qb.DocType("Payment Ledger Entry")
|
||||||
self.create_company()
|
self.create_company()
|
||||||
@@ -445,7 +454,7 @@ class TestPaymentLedgerEntry(FrappeTestCase):
|
|||||||
self.assertEqual(pl_entries_for_crnote[0], expected_values[0])
|
self.assertEqual(pl_entries_for_crnote[0], expected_values[0])
|
||||||
self.assertEqual(pl_entries_for_crnote[1], expected_values[1])
|
self.assertEqual(pl_entries_for_crnote[1], expected_values[1])
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{"unlink_payment_on_cancellation_of_invoice": 1, "delete_linked_ledger_entries": 1},
|
{"unlink_payment_on_cancellation_of_invoice": 1, "delete_linked_ledger_entries": 1},
|
||||||
)
|
)
|
||||||
@@ -474,7 +483,7 @@ class TestPaymentLedgerEntry(FrappeTestCase):
|
|||||||
si.delete()
|
si.delete()
|
||||||
self.assertRaises(frappe.DoesNotExistError, frappe.get_doc, si.doctype, si.name)
|
self.assertRaises(frappe.DoesNotExistError, frappe.get_doc, si.doctype, si.name)
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{"unlink_payment_on_cancellation_of_invoice": 1, "delete_linked_ledger_entries": 1},
|
{"unlink_payment_on_cancellation_of_invoice": 1, "delete_linked_ledger_entries": 1},
|
||||||
)
|
)
|
||||||
@@ -507,7 +516,7 @@ class TestPaymentLedgerEntry(FrappeTestCase):
|
|||||||
si.delete()
|
si.delete()
|
||||||
self.assertRaises(frappe.DoesNotExistError, frappe.get_doc, si.doctype, si.name)
|
self.assertRaises(frappe.DoesNotExistError, frappe.get_doc, si.doctype, si.name)
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{
|
{
|
||||||
"unlink_payment_on_cancellation_of_invoice": 1,
|
"unlink_payment_on_cancellation_of_invoice": 1,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
from frappe.utils import getdate
|
from frappe.utils import getdate
|
||||||
|
|
||||||
from erpnext.accounts.doctype.bank_transaction.test_bank_transaction import (
|
from erpnext.accounts.doctype.bank_transaction.test_bank_transaction import (
|
||||||
@@ -17,7 +17,16 @@ from erpnext.accounts.doctype.payment_entry.payment_entry import (
|
|||||||
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
|
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
|
||||||
|
|
||||||
|
|
||||||
class TestPaymentOrder(FrappeTestCase):
|
class UnitTestPaymentOrder(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for PaymentOrder.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestPaymentOrder(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
# generate and use a uniq hash identifier for 'Bank Account' and it's linked GL 'Account' to avoid validation error
|
# generate and use a uniq hash identifier for 'Bank Account' and it's linked GL 'Account' to avoid validation error
|
||||||
uniq_identifier = frappe.generate_hash(length=10)
|
uniq_identifier = frappe.generate_hash(length=10)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe import qb
|
from frappe import qb
|
||||||
from frappe.tests.utils import FrappeTestCase, change_settings
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
from frappe.utils import add_days, add_years, flt, getdate, nowdate, today
|
from frappe.utils import add_days, add_years, flt, getdate, nowdate, today
|
||||||
|
|
||||||
from erpnext import get_default_cost_center
|
from erpnext import get_default_cost_center
|
||||||
@@ -17,10 +17,19 @@ from erpnext.accounts.utils import get_fiscal_year
|
|||||||
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
|
from erpnext.buying.doctype.purchase_order.test_purchase_order import create_purchase_order
|
||||||
from erpnext.stock.doctype.item.test_item import create_item
|
from erpnext.stock.doctype.item.test_item import create_item
|
||||||
|
|
||||||
test_dependencies = ["Item"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Item"]
|
||||||
|
|
||||||
|
|
||||||
class TestPaymentReconciliation(FrappeTestCase):
|
class UnitTestPaymentReconciliation(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for PaymentReconciliation.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestPaymentReconciliation(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.create_company()
|
self.create_company()
|
||||||
self.create_item()
|
self.create_item()
|
||||||
@@ -1104,7 +1113,7 @@ class TestPaymentReconciliation(FrappeTestCase):
|
|||||||
payment_vouchers = [x.get("reference_name") for x in pr.get("payments")]
|
payment_vouchers = [x.get("reference_name") for x in pr.get("payments")]
|
||||||
self.assertCountEqual(payment_vouchers, [je2.name, pe2.name])
|
self.assertCountEqual(payment_vouchers, [je2.name, pe2.name])
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{
|
{
|
||||||
"allow_multi_currency_invoices_against_single_party_account": 1,
|
"allow_multi_currency_invoices_against_single_party_account": 1,
|
||||||
|
|||||||
@@ -482,4 +482,4 @@
|
|||||||
"sort_field": "creation",
|
"sort_field": "creation",
|
||||||
"sort_order": "DESC",
|
"sort_order": "DESC",
|
||||||
"states": []
|
"states": []
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -883,33 +883,6 @@ def validate_payment(doc, method=None):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_paid_amount_against_order(dt, dn):
|
|
||||||
pe_ref = frappe.qb.DocType("Payment Entry Reference")
|
|
||||||
if dt == "Sales Order":
|
|
||||||
inv_dt, inv_field = "Sales Invoice Item", "sales_order"
|
|
||||||
else:
|
|
||||||
inv_dt, inv_field = "Purchase Invoice Item", "purchase_order"
|
|
||||||
inv_item = frappe.qb.DocType(inv_dt)
|
|
||||||
return (
|
|
||||||
frappe.qb.from_(pe_ref)
|
|
||||||
.select(
|
|
||||||
Sum(pe_ref.allocated_amount),
|
|
||||||
)
|
|
||||||
.where(
|
|
||||||
(pe_ref.docstatus == 1)
|
|
||||||
& (
|
|
||||||
(pe_ref.reference_name == dn)
|
|
||||||
| pe_ref.reference_name.isin(
|
|
||||||
frappe.qb.from_(inv_item)
|
|
||||||
.select(inv_item.parent)
|
|
||||||
.where(inv_item[inv_field] == dn)
|
|
||||||
.distinct()
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
).run()[0][0] or 0
|
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_open_payment_requests_query(doctype, txt, searchfield, start, page_len, filters):
|
def get_open_payment_requests_query(doctype, txt, searchfield, start, page_len, filters):
|
||||||
# permission checks in `get_list()`
|
# permission checks in `get_list()`
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import unittest
|
|||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_terms_template
|
from erpnext.accounts.doctype.payment_entry.test_payment_entry import create_payment_terms_template
|
||||||
from erpnext.accounts.doctype.payment_request.payment_request import make_payment_request
|
from erpnext.accounts.doctype.payment_request.payment_request import make_payment_request
|
||||||
@@ -16,7 +16,7 @@ from erpnext.buying.doctype.purchase_order.test_purchase_order import create_pur
|
|||||||
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
|
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
|
||||||
from erpnext.setup.utils import get_exchange_rate
|
from erpnext.setup.utils import get_exchange_rate
|
||||||
|
|
||||||
test_dependencies = ["Currency Exchange", "Journal Entry", "Contact", "Address"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Currency Exchange", "Journal Entry", "Contact", "Address"]
|
||||||
|
|
||||||
PAYMENT_URL = "https://example.com/payment"
|
PAYMENT_URL = "https://example.com/payment"
|
||||||
|
|
||||||
@@ -57,7 +57,16 @@ payment_method = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class TestPaymentRequest(FrappeTestCase):
|
class UnitTestPaymentRequest(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for PaymentRequest.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestPaymentRequest(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
for payment_gateway in payment_gateways:
|
for payment_gateway in payment_gateways:
|
||||||
if not frappe.db.get_value("Payment Gateway", payment_gateway["gateway"], "name"):
|
if not frappe.db.get_value("Payment Gateway", payment_gateway["gateway"], "name"):
|
||||||
@@ -218,7 +227,7 @@ class TestPaymentRequest(FrappeTestCase):
|
|||||||
|
|
||||||
def test_payment_entry_against_purchase_invoice(self):
|
def test_payment_entry_against_purchase_invoice(self):
|
||||||
si_usd = make_purchase_invoice(
|
si_usd = make_purchase_invoice(
|
||||||
customer="_Test Supplier USD",
|
supplier="_Test Supplier USD",
|
||||||
debit_to="_Test Payable USD - _TC",
|
debit_to="_Test Payable USD - _TC",
|
||||||
currency="USD",
|
currency="USD",
|
||||||
conversion_rate=50,
|
conversion_rate=50,
|
||||||
@@ -243,7 +252,7 @@ class TestPaymentRequest(FrappeTestCase):
|
|||||||
|
|
||||||
def test_multiple_payment_entry_against_purchase_invoice(self):
|
def test_multiple_payment_entry_against_purchase_invoice(self):
|
||||||
purchase_invoice = make_purchase_invoice(
|
purchase_invoice = make_purchase_invoice(
|
||||||
customer="_Test Supplier USD",
|
supplier="_Test Supplier USD",
|
||||||
debit_to="_Test Payable USD - _TC",
|
debit_to="_Test Payable USD - _TC",
|
||||||
currency="USD",
|
currency="USD",
|
||||||
conversion_rate=50,
|
conversion_rate=50,
|
||||||
@@ -483,8 +492,13 @@ class TestPaymentRequest(FrappeTestCase):
|
|||||||
return_doc=1,
|
return_doc=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@IntegrationTestCase.change_settings(
|
||||||
|
"Accounts Settings", {"allow_multi_currency_invoices_against_single_party_account": 1}
|
||||||
|
)
|
||||||
def test_multiple_payment_if_partially_paid_for_multi_currency(self):
|
def test_multiple_payment_if_partially_paid_for_multi_currency(self):
|
||||||
pi = make_purchase_invoice(currency="USD", conversion_rate=50, qty=1, rate=100)
|
pi = make_purchase_invoice(currency="USD", conversion_rate=50, qty=1, rate=100, do_not_save=1)
|
||||||
|
pi.credit_to = "Creditors - _TC"
|
||||||
|
pi.submit()
|
||||||
|
|
||||||
pr = make_payment_request(
|
pr = make_payment_request(
|
||||||
dt="Purchase Invoice",
|
dt="Purchase Invoice",
|
||||||
@@ -585,10 +599,15 @@ class TestPaymentRequest(FrappeTestCase):
|
|||||||
self.assertEqual(pr.outstanding_amount, 0)
|
self.assertEqual(pr.outstanding_amount, 0)
|
||||||
self.assertEqual(pr.grand_total, 20000)
|
self.assertEqual(pr.grand_total, 20000)
|
||||||
|
|
||||||
|
@IntegrationTestCase.change_settings(
|
||||||
|
"Accounts Settings", {"allow_multi_currency_invoices_against_single_party_account": 1}
|
||||||
|
)
|
||||||
def test_single_payment_with_payment_term_for_multi_currency(self):
|
def test_single_payment_with_payment_term_for_multi_currency(self):
|
||||||
create_payment_terms_template()
|
create_payment_terms_template()
|
||||||
|
|
||||||
si = create_sales_invoice(do_not_save=1, currency="USD", qty=1, rate=200, conversion_rate=50)
|
si = create_sales_invoice(
|
||||||
|
do_not_save=1, currency="USD", debit_to="Debtors - _TC", qty=1, rate=200, conversion_rate=50
|
||||||
|
)
|
||||||
si.payment_terms_template = "Test Receivable Template" # 84.746 and 15.254
|
si.payment_terms_template = "Test Receivable Template" # 84.746 and 15.254
|
||||||
si.save()
|
si.save()
|
||||||
si.submit()
|
si.submit()
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestPaymentTerm(unittest.TestCase):
|
|
||||||
|
class TestPaymentTerm(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestPaymentTermsTemplate(unittest.TestCase):
|
class TestPaymentTermsTemplate(IntegrationTestCase):
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
frappe.delete_doc("Payment Terms Template", "_Test Payment Terms Template For Test", force=1)
|
frappe.delete_doc("Payment Terms Template", "_Test Payment Terms Template For Test", force=1)
|
||||||
|
|
||||||
|
|||||||
@@ -392,8 +392,7 @@ def process_closing_entries(gl_entries, closing_entries, voucher_name, company,
|
|||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if gl_entries + closing_entries:
|
make_closing_entries(gl_entries + closing_entries, voucher_name, company, closing_date)
|
||||||
make_closing_entries(gl_entries + closing_entries, voucher_name, company, closing_date)
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
frappe.db.rollback()
|
frappe.db.rollback()
|
||||||
frappe.log_error(e)
|
frappe.log_error(e)
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# License: GNU General Public License v3. See license.txt
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import today
|
from frappe.utils import today
|
||||||
|
|
||||||
from erpnext.accounts.doctype.finance_book.test_finance_book import create_finance_book
|
from erpnext.accounts.doctype.finance_book.test_finance_book import create_finance_book
|
||||||
@@ -13,7 +12,7 @@ from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sal
|
|||||||
from erpnext.accounts.utils import get_fiscal_year
|
from erpnext.accounts.utils import get_fiscal_year
|
||||||
|
|
||||||
|
|
||||||
class TestPeriodClosingVoucher(unittest.TestCase):
|
class TestPeriodClosingVoucher(IntegrationTestCase):
|
||||||
def test_closing_entry(self):
|
def test_closing_entry(self):
|
||||||
frappe.db.sql("delete from `tabGL Entry` where company='Test PCV Company'")
|
frappe.db.sql("delete from `tabGL Entry` where company='Test PCV Company'")
|
||||||
frappe.db.sql("delete from `tabPeriod Closing Voucher` where company='Test PCV Company'")
|
frappe.db.sql("delete from `tabPeriod Closing Voucher` where company='Test PCV Company'")
|
||||||
@@ -381,5 +380,5 @@ def create_cost_center(cc_name):
|
|||||||
return costcenter.name
|
return costcenter.name
|
||||||
|
|
||||||
|
|
||||||
test_dependencies = ["Customer", "Cost Center"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Customer", "Cost Center"]
|
||||||
test_records = frappe.get_test_records("Period Closing Voucher")
|
test_records = frappe.get_test_records("Period Closing Voucher")
|
||||||
|
|||||||
@@ -194,7 +194,9 @@ function refresh_payments(d, frm) {
|
|||||||
}
|
}
|
||||||
if (payment) {
|
if (payment) {
|
||||||
payment.expected_amount += flt(p.amount);
|
payment.expected_amount += flt(p.amount);
|
||||||
payment.closing_amount = payment.expected_amount;
|
if (payment.closing_amount === 0) {
|
||||||
|
payment.closing_amount = payment.expected_amount;
|
||||||
|
}
|
||||||
payment.difference = payment.closing_amount - payment.expected_amount;
|
payment.difference = payment.closing_amount - payment.expected_amount;
|
||||||
} else {
|
} else {
|
||||||
frm.add_child("payment_reconciliation", {
|
frm.add_child("payment_reconciliation", {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.accounting_dimension.test_accounting_dimension import (
|
from erpnext.accounts.doctype.accounting_dimension.test_accounting_dimension import (
|
||||||
create_dimension,
|
create_dimension,
|
||||||
@@ -24,7 +24,7 @@ from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle
|
|||||||
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
|
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
|
||||||
|
|
||||||
|
|
||||||
class TestPOSClosingEntry(unittest.TestCase):
|
class TestPOSClosingEntry(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
# Make stock available for POS Sales
|
# Make stock available for POS Sales
|
||||||
make_stock_entry(target="_Test Warehouse - _TC", qty=2, basic_rate=100)
|
make_stock_entry(target="_Test Warehouse - _TC", qty=2, basic_rate=100)
|
||||||
|
|||||||
@@ -865,6 +865,7 @@ def get_item_group(pos_profile):
|
|||||||
if pos_profile.get("item_groups"):
|
if pos_profile.get("item_groups"):
|
||||||
# Get items based on the item groups defined in the POS profile
|
# Get items based on the item groups defined in the POS profile
|
||||||
for row in pos_profile.get("item_groups"):
|
for row in pos_profile.get("item_groups"):
|
||||||
|
item_groups.append(row.item_group)
|
||||||
item_groups.extend(get_descendants_of("Item Group", row.item_group))
|
item_groups.extend(get_descendants_of("Item Group", row.item_group))
|
||||||
|
|
||||||
return list(set(item_groups))
|
return list(set(item_groups))
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe import _
|
from frappe import _
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.pos_invoice.pos_invoice import make_sales_return
|
from erpnext.accounts.doctype.pos_invoice.pos_invoice import make_sales_return
|
||||||
from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile
|
from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile
|
||||||
@@ -20,7 +20,7 @@ from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle
|
|||||||
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
|
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
|
||||||
|
|
||||||
|
|
||||||
class TestPOSInvoice(unittest.TestCase):
|
class TestPOSInvoice(IntegrationTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
make_stock_entry(target="_Test Warehouse - _TC", item_code="_Test Item", qty=800, basic_rate=100)
|
make_stock_entry(target="_Test Warehouse - _TC", item_code="_Test Item", qty=800, basic_rate=100)
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import unittest
|
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
from frappe.tests.utils import change_settings
|
from frappe.tests.utils import change_settings
|
||||||
|
|
||||||
from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import init_user_and_profile
|
from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import init_user_and_profile
|
||||||
@@ -19,7 +18,16 @@ from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle
|
|||||||
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
|
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
|
||||||
|
|
||||||
|
|
||||||
class TestPOSInvoiceMergeLog(unittest.TestCase):
|
class UnitTestPosInvoiceMergeLog(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for PosInvoiceMergeLog.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestPOSInvoiceMergeLog(IntegrationTestCase):
|
||||||
def test_consolidated_invoice_creation(self):
|
def test_consolidated_invoice_creation(self):
|
||||||
frappe.db.sql("delete from `tabPOS Invoice`")
|
frappe.db.sql("delete from `tabPOS Invoice`")
|
||||||
|
|
||||||
@@ -288,7 +296,7 @@ class TestPOSInvoiceMergeLog(unittest.TestCase):
|
|||||||
frappe.db.sql("delete from `tabPOS Profile`")
|
frappe.db.sql("delete from `tabPOS Profile`")
|
||||||
frappe.db.sql("delete from `tabPOS Invoice`")
|
frappe.db.sql("delete from `tabPOS Invoice`")
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"System Settings", {"number_format": "#,###.###", "currency_precision": 3, "float_precision": 3}
|
"System Settings", {"number_format": "#,###.###", "currency_precision": 3, "float_precision": 3}
|
||||||
)
|
)
|
||||||
def test_consolidation_round_off_error_3(self):
|
def test_consolidation_round_off_error_3(self):
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestPOSOpeningEntry(unittest.TestCase):
|
class TestPOSOpeningEntry(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.pos_profile.pos_profile import (
|
from erpnext.accounts.doctype.pos_profile.pos_profile import (
|
||||||
get_child_nodes,
|
get_child_nodes,
|
||||||
)
|
)
|
||||||
from erpnext.stock.get_item_details import get_pos_profile
|
from erpnext.stock.get_item_details import get_pos_profile
|
||||||
|
|
||||||
test_dependencies = ["Item"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Item"]
|
||||||
|
|
||||||
|
|
||||||
class TestPOSProfile(unittest.TestCase):
|
class TestPOSProfile(IntegrationTestCase):
|
||||||
def test_pos_profile(self):
|
def test_pos_profile(self):
|
||||||
make_pos_profile()
|
make_pos_profile()
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ def get_customers_list(pos_profile=None):
|
|||||||
customer_groups.extend(
|
customer_groups.extend(
|
||||||
[d.get("name") for d in get_child_nodes("Customer Group", d.get("customer_group"))]
|
[d.get("name") for d in get_child_nodes("Customer Group", d.get("customer_group"))]
|
||||||
)
|
)
|
||||||
cond = "customer_group in (%s)" % (", ".join(["%s"] * len(customer_groups)))
|
cond = "customer_group in ({})".format(", ".join(["%s"] * len(customer_groups)))
|
||||||
|
|
||||||
return (
|
return (
|
||||||
frappe.db.sql(
|
frappe.db.sql(
|
||||||
@@ -72,7 +72,7 @@ def get_items_list(pos_profile, company):
|
|||||||
for d in pos_profile.get("item_groups"):
|
for d in pos_profile.get("item_groups"):
|
||||||
args_list.extend([d.name for d in get_child_nodes("Item Group", d.item_group)])
|
args_list.extend([d.name for d in get_child_nodes("Item Group", d.item_group)])
|
||||||
if args_list:
|
if args_list:
|
||||||
cond = "and i.item_group in (%s)" % (", ".join(["%s"] * len(args_list)))
|
cond = "and i.item_group in ({})".format(", ".join(["%s"] * len(args_list)))
|
||||||
|
|
||||||
return frappe.db.sql(
|
return frappe.db.sql(
|
||||||
f"""
|
f"""
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestPOSProfileUser(unittest.TestCase):
|
|
||||||
|
class TestPOSProfileUser(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestPOSSettings(unittest.TestCase):
|
|
||||||
|
class TestPOSSettings(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase, change_settings
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
|
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
|
||||||
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
|
||||||
@@ -15,7 +15,16 @@ from erpnext.stock.doctype.item.test_item import make_item
|
|||||||
from erpnext.stock.get_item_details import get_item_details
|
from erpnext.stock.get_item_details import get_item_details
|
||||||
|
|
||||||
|
|
||||||
class TestPricingRule(FrappeTestCase):
|
class UnitTestPricingRule(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for PricingRule.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestPricingRule(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
delete_existing_pricing_rules()
|
delete_existing_pricing_rules()
|
||||||
setup_pricing_rule_data()
|
setup_pricing_rule_data()
|
||||||
@@ -1378,7 +1387,7 @@ class TestPricingRule(FrappeTestCase):
|
|||||||
pi.cancel()
|
pi.cancel()
|
||||||
|
|
||||||
|
|
||||||
test_dependencies = ["UTM Campaign"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["UTM Campaign"]
|
||||||
|
|
||||||
|
|
||||||
def make_pricing_rule(**args):
|
def make_pricing_rule(**args):
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.account.test_account import create_account
|
from erpnext.accounts.doctype.account.test_account import create_account
|
||||||
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import (
|
from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import (
|
||||||
@@ -13,7 +13,7 @@ from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import (
|
|||||||
from erpnext.stock.doctype.item.test_item import create_item
|
from erpnext.stock.doctype.item.test_item import create_item
|
||||||
|
|
||||||
|
|
||||||
class TestProcessDeferredAccounting(unittest.TestCase):
|
class TestProcessDeferredAccounting(IntegrationTestCase):
|
||||||
def test_creation_of_ledger_entry_on_submit(self):
|
def test_creation_of_ledger_entry_on_submit(self):
|
||||||
"""test creation of gl entries on submission of document"""
|
"""test creation of gl entries on submission of document"""
|
||||||
change_acc_settings(acc_frozen_upto="2023-05-31", book_deferred_entries_based_on="Months")
|
change_acc_settings(acc_frozen_upto="2023-05-31", book_deferred_entries_based_on="Months")
|
||||||
|
|||||||
@@ -2,8 +2,17 @@
|
|||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestProcessPaymentReconciliation(FrappeTestCase):
|
class UnitTestProcessPaymentReconciliation(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for ProcessPaymentReconciliation.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestProcessPaymentReconciliation(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -2,8 +2,17 @@
|
|||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestProcessPaymentReconciliationLog(FrappeTestCase):
|
class UnitTestProcessPaymentReconciliationLog(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for ProcessPaymentReconciliationLog.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestProcessPaymentReconciliationLog(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import add_days, getdate, today
|
from frappe.utils import add_days, getdate, today
|
||||||
|
|
||||||
from erpnext.accounts.doctype.process_statement_of_accounts.process_statement_of_accounts import (
|
from erpnext.accounts.doctype.process_statement_of_accounts.process_statement_of_accounts import (
|
||||||
@@ -14,7 +14,7 @@ from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sal
|
|||||||
from erpnext.accounts.test.accounts_mixin import AccountsTestMixin
|
from erpnext.accounts.test.accounts_mixin import AccountsTestMixin
|
||||||
|
|
||||||
|
|
||||||
class TestProcessStatementOfAccounts(AccountsTestMixin, FrappeTestCase):
|
class TestProcessStatementOfAccounts(AccountsTestMixin, IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.create_company()
|
self.create_company()
|
||||||
self.create_customer()
|
self.create_customer()
|
||||||
|
|||||||
@@ -2,8 +2,17 @@
|
|||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestProcessSubscription(FrappeTestCase):
|
class UnitTestProcessSubscription(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for ProcessSubscription.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestProcessSubscription(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.promotional_scheme.promotional_scheme import TransactionExists
|
from erpnext.accounts.doctype.promotional_scheme.promotional_scheme import TransactionExists
|
||||||
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
|
from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
|
||||||
|
|
||||||
|
|
||||||
class TestPromotionalScheme(unittest.TestCase):
|
class TestPromotionalScheme(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
if frappe.db.exists("Promotional Scheme", "_Test Scheme"):
|
if frappe.db.exists("Promotional Scheme", "_Test Scheme"):
|
||||||
frappe.delete_doc("Promotional Scheme", "_Test Scheme")
|
frappe.delete_doc("Promotional Scheme", "_Test Scheme")
|
||||||
|
|||||||
@@ -565,11 +565,12 @@ frappe.ui.form.on("Purchase Invoice", {
|
|||||||
frm.custom_make_buttons = {
|
frm.custom_make_buttons = {
|
||||||
"Purchase Invoice": "Return / Debit Note",
|
"Purchase Invoice": "Return / Debit Note",
|
||||||
"Payment Entry": "Payment",
|
"Payment Entry": "Payment",
|
||||||
"Landed Cost Voucher": function () {
|
|
||||||
frm.trigger("create_landed_cost_voucher");
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (frm.doc.update_stock) {
|
||||||
|
frm.custom_make_buttons["Landed Cost Voucher"] = "Landed Cost Voucher";
|
||||||
|
}
|
||||||
|
|
||||||
frm.set_query("additional_discount_account", function () {
|
frm.set_query("additional_discount_account", function () {
|
||||||
return {
|
return {
|
||||||
filters: {
|
filters: {
|
||||||
@@ -611,20 +612,6 @@ frappe.ui.form.on("Purchase Invoice", {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
create_landed_cost_voucher: function (frm) {
|
|
||||||
let lcv = frappe.model.get_new_doc("Landed Cost Voucher");
|
|
||||||
lcv.company = frm.doc.company;
|
|
||||||
|
|
||||||
let lcv_receipt = frappe.model.get_new_doc("Landed Cost Purchase Invoice");
|
|
||||||
lcv_receipt.receipt_document_type = "Purchase Invoice";
|
|
||||||
lcv_receipt.receipt_document = frm.doc.name;
|
|
||||||
lcv_receipt.supplier = frm.doc.supplier;
|
|
||||||
lcv_receipt.grand_total = frm.doc.grand_total;
|
|
||||||
lcv.purchase_receipts = [lcv_receipt];
|
|
||||||
|
|
||||||
frappe.set_route("Form", lcv.doctype, lcv.name);
|
|
||||||
},
|
|
||||||
|
|
||||||
add_custom_buttons: function (frm) {
|
add_custom_buttons: function (frm) {
|
||||||
if (frm.doc.docstatus == 1 && frm.doc.per_received < 100) {
|
if (frm.doc.docstatus == 1 && frm.doc.per_received < 100) {
|
||||||
frm.add_custom_button(
|
frm.add_custom_button(
|
||||||
@@ -649,6 +636,32 @@ frappe.ui.form.on("Purchase Invoice", {
|
|||||||
__("View")
|
__("View")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (frm.doc.docstatus === 1 && frm.doc.update_stock) {
|
||||||
|
frm.add_custom_button(
|
||||||
|
__("Landed Cost Voucher"),
|
||||||
|
() => {
|
||||||
|
frm.events.make_lcv(frm);
|
||||||
|
},
|
||||||
|
__("Create")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
make_lcv(frm) {
|
||||||
|
frappe.call({
|
||||||
|
method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_lcv",
|
||||||
|
args: {
|
||||||
|
doctype: frm.doc.doctype,
|
||||||
|
docname: frm.doc.name,
|
||||||
|
},
|
||||||
|
callback: (r) => {
|
||||||
|
if (r.message) {
|
||||||
|
var doc = frappe.model.sync(r.message);
|
||||||
|
frappe.set_route("Form", doc[0].doctype, doc[0].name);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
onload: function (frm) {
|
onload: function (frm) {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
"creation": "2013-05-21 16:16:39",
|
"creation": "2013-05-21 16:16:39",
|
||||||
"doctype": "DocType",
|
"doctype": "DocType",
|
||||||
"document_type": "Document",
|
"document_type": "Document",
|
||||||
|
"email_append_to": 1,
|
||||||
"engine": "InnoDB",
|
"engine": "InnoDB",
|
||||||
"field_order": [
|
"field_order": [
|
||||||
"title",
|
"title",
|
||||||
@@ -192,6 +193,7 @@
|
|||||||
"is_internal_supplier",
|
"is_internal_supplier",
|
||||||
"represents_company",
|
"represents_company",
|
||||||
"supplier_group",
|
"supplier_group",
|
||||||
|
"sender",
|
||||||
"column_break_147",
|
"column_break_147",
|
||||||
"inter_company_invoice_reference",
|
"inter_company_invoice_reference",
|
||||||
"is_old_subcontracting_flow",
|
"is_old_subcontracting_flow",
|
||||||
@@ -1625,13 +1627,19 @@
|
|||||||
"fieldname": "update_outstanding_for_self",
|
"fieldname": "update_outstanding_for_self",
|
||||||
"fieldtype": "Check",
|
"fieldtype": "Check",
|
||||||
"label": "Update Outstanding for Self"
|
"label": "Update Outstanding for Self"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fieldname": "sender",
|
||||||
|
"fieldtype": "Data",
|
||||||
|
"label": "Sender",
|
||||||
|
"options": "Email"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"icon": "fa fa-file-text",
|
"icon": "fa fa-file-text",
|
||||||
"idx": 204,
|
"idx": 204,
|
||||||
"is_submittable": 1,
|
"is_submittable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2024-07-25 19:42:36.931278",
|
"modified": "2024-09-18 12:24:44.826539",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Accounts",
|
"module": "Accounts",
|
||||||
"name": "Purchase Invoice",
|
"name": "Purchase Invoice",
|
||||||
@@ -1687,6 +1695,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"search_fields": "posting_date, supplier, bill_no, base_grand_total, outstanding_amount",
|
"search_fields": "posting_date, supplier, bill_no, base_grand_total, outstanding_amount",
|
||||||
|
"sender_field": "sender",
|
||||||
"show_name_in_global_search": 1,
|
"show_name_in_global_search": 1,
|
||||||
"sort_field": "creation",
|
"sort_field": "creation",
|
||||||
"sort_order": "DESC",
|
"sort_order": "DESC",
|
||||||
|
|||||||
@@ -165,6 +165,7 @@ class PurchaseInvoice(BuyingController):
|
|||||||
rounding_adjustment: DF.Currency
|
rounding_adjustment: DF.Currency
|
||||||
scan_barcode: DF.Data | None
|
scan_barcode: DF.Data | None
|
||||||
select_print_heading: DF.Link | None
|
select_print_heading: DF.Link | None
|
||||||
|
sender: DF.Data | None
|
||||||
set_from_warehouse: DF.Link | None
|
set_from_warehouse: DF.Link | None
|
||||||
set_posting_time: DF.Check
|
set_posting_time: DF.Check
|
||||||
set_warehouse: DF.Link | None
|
set_warehouse: DF.Link | None
|
||||||
@@ -590,7 +591,7 @@ class PurchaseInvoice(BuyingController):
|
|||||||
|
|
||||||
def validate_expense_account(self):
|
def validate_expense_account(self):
|
||||||
for item in self.get("items"):
|
for item in self.get("items"):
|
||||||
validate_account_head(item.idx, item.expense_account, self.company, "Expense")
|
validate_account_head(item.idx, item.expense_account, self.company, _("Expense"))
|
||||||
|
|
||||||
def set_against_expense_account(self, force=False):
|
def set_against_expense_account(self, force=False):
|
||||||
against_accounts = []
|
against_accounts = []
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase, change_settings
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import add_days, cint, flt, getdate, nowdate, today
|
from frappe.utils import add_days, cint, flt, getdate, nowdate, today
|
||||||
|
|
||||||
import erpnext
|
import erpnext
|
||||||
@@ -38,11 +38,11 @@ from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle
|
|||||||
from erpnext.stock.doctype.stock_entry.test_stock_entry import get_qty_after_transaction
|
from erpnext.stock.doctype.stock_entry.test_stock_entry import get_qty_after_transaction
|
||||||
from erpnext.stock.tests.test_utils import StockTestMixin
|
from erpnext.stock.tests.test_utils import StockTestMixin
|
||||||
|
|
||||||
test_dependencies = ["Item", "Cost Center", "Payment Term", "Payment Terms Template"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Item", "Cost Center", "Payment Term", "Payment Terms Template"]
|
||||||
test_ignore = ["Serial No"]
|
IGNORE_TEST_RECORD_DEPENDENCIES = ["Serial No"]
|
||||||
|
|
||||||
|
|
||||||
class TestPurchaseInvoice(FrappeTestCase, StockTestMixin):
|
class TestPurchaseInvoice(IntegrationTestCase, StockTestMixin):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(self):
|
def setUpClass(self):
|
||||||
unlink_payment_on_cancel_of_invoice()
|
unlink_payment_on_cancel_of_invoice()
|
||||||
@@ -461,7 +461,9 @@ class TestPurchaseInvoice(FrappeTestCase, StockTestMixin):
|
|||||||
self.assertEqual(tax.tax_amount, expected_values[i][1])
|
self.assertEqual(tax.tax_amount, expected_values[i][1])
|
||||||
self.assertEqual(tax.total, expected_values[i][2])
|
self.assertEqual(tax.total, expected_values[i][2])
|
||||||
|
|
||||||
@change_settings("Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1})
|
@IntegrationTestCase.change_settings(
|
||||||
|
"Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1}
|
||||||
|
)
|
||||||
def test_purchase_invoice_with_advance(self):
|
def test_purchase_invoice_with_advance(self):
|
||||||
from erpnext.accounts.doctype.journal_entry.test_journal_entry import (
|
from erpnext.accounts.doctype.journal_entry.test_journal_entry import (
|
||||||
test_records as jv_test_records,
|
test_records as jv_test_records,
|
||||||
@@ -516,7 +518,9 @@ class TestPurchaseInvoice(FrappeTestCase, StockTestMixin):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@change_settings("Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1})
|
@IntegrationTestCase.change_settings(
|
||||||
|
"Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1}
|
||||||
|
)
|
||||||
def test_invoice_with_advance_and_multi_payment_terms(self):
|
def test_invoice_with_advance_and_multi_payment_terms(self):
|
||||||
from erpnext.accounts.doctype.journal_entry.test_journal_entry import (
|
from erpnext.accounts.doctype.journal_entry.test_journal_entry import (
|
||||||
test_records as jv_test_records,
|
test_records as jv_test_records,
|
||||||
@@ -1251,7 +1255,9 @@ class TestPurchaseInvoice(FrappeTestCase, StockTestMixin):
|
|||||||
acc_settings.submit_journal_entriessubmit_journal_entries = 0
|
acc_settings.submit_journal_entriessubmit_journal_entries = 0
|
||||||
acc_settings.save()
|
acc_settings.save()
|
||||||
|
|
||||||
@change_settings("Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1})
|
@IntegrationTestCase.change_settings(
|
||||||
|
"Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1}
|
||||||
|
)
|
||||||
def test_gain_loss_with_advance_entry(self):
|
def test_gain_loss_with_advance_entry(self):
|
||||||
unlink_enabled = frappe.db.get_single_value(
|
unlink_enabled = frappe.db.get_single_value(
|
||||||
"Accounts Settings", "unlink_payment_on_cancellation_of_invoice"
|
"Accounts Settings", "unlink_payment_on_cancellation_of_invoice"
|
||||||
@@ -1452,7 +1458,9 @@ class TestPurchaseInvoice(FrappeTestCase, StockTestMixin):
|
|||||||
)
|
)
|
||||||
frappe.db.set_value("Company", "_Test Company", "exchange_gain_loss_account", original_account)
|
frappe.db.set_value("Company", "_Test Company", "exchange_gain_loss_account", original_account)
|
||||||
|
|
||||||
@change_settings("Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1})
|
@IntegrationTestCase.change_settings(
|
||||||
|
"Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1}
|
||||||
|
)
|
||||||
def test_purchase_invoice_advance_taxes(self):
|
def test_purchase_invoice_advance_taxes(self):
|
||||||
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
||||||
|
|
||||||
@@ -2025,7 +2033,17 @@ class TestPurchaseInvoice(FrappeTestCase, StockTestMixin):
|
|||||||
]
|
]
|
||||||
check_gl_entries(self, pi.name, expected_gle, nowdate())
|
check_gl_entries(self, pi.name, expected_gle, nowdate())
|
||||||
|
|
||||||
@change_settings("Buying Settings", {"supplier_group": None})
|
def test_create_purchase_invoice_without_mandatory(self):
|
||||||
|
pi = frappe.new_doc("Purchase Invoice")
|
||||||
|
pi.flags.ignore_mandatory = True
|
||||||
|
pi.insert(ignore_permissions=True)
|
||||||
|
|
||||||
|
self.assertTrue(pi.name)
|
||||||
|
self.assertEqual(pi.docstatus, 0)
|
||||||
|
|
||||||
|
pi.delete()
|
||||||
|
|
||||||
|
@IntegrationTestCase.change_settings("Buying Settings", {"supplier_group": None})
|
||||||
def test_purchase_invoice_without_supplier_group(self):
|
def test_purchase_invoice_without_supplier_group(self):
|
||||||
# Create a Supplier
|
# Create a Supplier
|
||||||
test_supplier_name = "_Test Supplier Without Supplier Group"
|
test_supplier_name = "_Test Supplier Without Supplier Group"
|
||||||
@@ -2361,6 +2379,24 @@ class TestPurchaseInvoice(FrappeTestCase, StockTestMixin):
|
|||||||
self.assertEqual(len(actual), 3)
|
self.assertEqual(len(actual), 3)
|
||||||
self.assertEqual(expected, actual)
|
self.assertEqual(expected, actual)
|
||||||
|
|
||||||
|
def test_last_purchase_rate(self):
|
||||||
|
item = create_item("_Test Item For Last Purchase Rate from PI", is_stock_item=1)
|
||||||
|
pi1 = make_purchase_invoice(item_code=item.item_code, qty=10, rate=100)
|
||||||
|
item.reload()
|
||||||
|
self.assertEqual(item.last_purchase_rate, 100)
|
||||||
|
|
||||||
|
pi2 = make_purchase_invoice(item_code=item.item_code, qty=10, rate=200)
|
||||||
|
item.reload()
|
||||||
|
self.assertEqual(item.last_purchase_rate, 200)
|
||||||
|
|
||||||
|
pi2.cancel()
|
||||||
|
item.reload()
|
||||||
|
self.assertEqual(item.last_purchase_rate, 100)
|
||||||
|
|
||||||
|
pi1.cancel()
|
||||||
|
item.reload()
|
||||||
|
self.assertEqual(item.last_purchase_rate, 0)
|
||||||
|
|
||||||
|
|
||||||
def set_advance_flag(company, flag, default_account):
|
def set_advance_flag(company, flag, default_account):
|
||||||
frappe.db.set_value(
|
frappe.db.set_value(
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
# test_records = frappe.get_test_records('Purchase Taxes and Charges Template')
|
# test_records = frappe.get_test_records('Purchase Taxes and Charges Template')
|
||||||
|
|
||||||
|
|
||||||
class TestPurchaseTaxesandChargesTemplate(unittest.TestCase):
|
class TestPurchaseTaxesandChargesTemplate(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
import frappe
|
import frappe
|
||||||
from frappe import qb
|
from frappe import qb
|
||||||
from frappe.query_builder.functions import Sum
|
from frappe.query_builder.functions import Sum
|
||||||
from frappe.tests.utils import FrappeTestCase, change_settings
|
from frappe.tests import IntegrationTestCase
|
||||||
from frappe.utils import add_days, nowdate, today
|
from frappe.utils import add_days, nowdate, today
|
||||||
|
|
||||||
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
||||||
@@ -14,7 +14,7 @@ from erpnext.accounts.test.accounts_mixin import AccountsTestMixin
|
|||||||
from erpnext.accounts.utils import get_fiscal_year
|
from erpnext.accounts.utils import get_fiscal_year
|
||||||
|
|
||||||
|
|
||||||
class TestRepostAccountingLedger(AccountsTestMixin, FrappeTestCase):
|
class TestRepostAccountingLedger(AccountsTestMixin, IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.create_company()
|
self.create_company()
|
||||||
self.create_customer()
|
self.create_customer()
|
||||||
@@ -114,7 +114,7 @@ class TestRepostAccountingLedger(AccountsTestMixin, FrappeTestCase):
|
|||||||
ral.append("vouchers", {"voucher_type": si.doctype, "voucher_no": si.name})
|
ral.append("vouchers", {"voucher_type": si.doctype, "voucher_no": si.name})
|
||||||
self.assertRaises(frappe.ValidationError, ral.save)
|
self.assertRaises(frappe.ValidationError, ral.save)
|
||||||
|
|
||||||
@change_settings("Accounts Settings", {"delete_linked_ledger_entries": 1})
|
@IntegrationTestCase.change_settings("Accounts Settings", {"delete_linked_ledger_entries": 1})
|
||||||
def test_04_pcv_validation(self):
|
def test_04_pcv_validation(self):
|
||||||
# Clear old GL entries so PCV can be submitted.
|
# Clear old GL entries so PCV can be submitted.
|
||||||
gl = frappe.qb.DocType("GL Entry")
|
gl = frappe.qb.DocType("GL Entry")
|
||||||
|
|||||||
@@ -2,8 +2,17 @@
|
|||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestRepostAccountingLedgerSettings(FrappeTestCase):
|
class UnitTestRepostAccountingLedgerSettings(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for RepostAccountingLedgerSettings.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestRepostAccountingLedgerSettings(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -2,8 +2,17 @@
|
|||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
# import frappe
|
# import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
|
|
||||||
|
|
||||||
class TestRepostPaymentLedger(FrappeTestCase):
|
class UnitTestRepostPaymentLedger(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for RepostPaymentLedger.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestRepostPaymentLedger(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -376,7 +376,7 @@ class SalesInvoice(SellingController):
|
|||||||
|
|
||||||
def validate_income_account(self):
|
def validate_income_account(self):
|
||||||
for item in self.get("items"):
|
for item in self.get("items"):
|
||||||
validate_account_head(item.idx, item.income_account, self.company, "Income")
|
validate_account_head(item.idx, item.income_account, self.company, _("Income"))
|
||||||
|
|
||||||
def set_tax_withholding(self):
|
def set_tax_withholding(self):
|
||||||
if self.get("is_opening") == "Yes":
|
if self.get("is_opening") == "Yes":
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import json
|
|||||||
import frappe
|
import frappe
|
||||||
from frappe import qb
|
from frappe import qb
|
||||||
from frappe.model.dynamic_links import get_dynamic_link_map
|
from frappe.model.dynamic_links import get_dynamic_link_map
|
||||||
from frappe.tests.utils import FrappeTestCase, change_settings
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
from frappe.utils import add_days, flt, format_date, getdate, nowdate, today
|
from frappe.utils import add_days, flt, format_date, getdate, nowdate, today
|
||||||
|
|
||||||
import erpnext
|
import erpnext
|
||||||
@@ -46,7 +46,16 @@ from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import
|
|||||||
from erpnext.stock.utils import get_incoming_rate, get_stock_balance
|
from erpnext.stock.utils import get_incoming_rate, get_stock_balance
|
||||||
|
|
||||||
|
|
||||||
class TestSalesInvoice(FrappeTestCase):
|
class UnitTestSalesInvoice(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for SalesInvoice.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestSalesInvoice(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
from erpnext.stock.doctype.stock_ledger_entry.test_stock_ledger_entry import create_items
|
from erpnext.stock.doctype.stock_ledger_entry.test_stock_ledger_entry import create_items
|
||||||
|
|
||||||
@@ -194,7 +203,9 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
self.assertRaises(frappe.LinkExistsError, si.cancel)
|
self.assertRaises(frappe.LinkExistsError, si.cancel)
|
||||||
unlink_payment_on_cancel_of_invoice()
|
unlink_payment_on_cancel_of_invoice()
|
||||||
|
|
||||||
@change_settings("Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1})
|
@IntegrationTestCase.change_settings(
|
||||||
|
"Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1}
|
||||||
|
)
|
||||||
def test_payment_entry_unlink_against_standalone_credit_note(self):
|
def test_payment_entry_unlink_against_standalone_credit_note(self):
|
||||||
from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry
|
from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry
|
||||||
|
|
||||||
@@ -1383,7 +1394,9 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
dn.submit()
|
dn.submit()
|
||||||
return dn
|
return dn
|
||||||
|
|
||||||
@change_settings("Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1})
|
@IntegrationTestCase.change_settings(
|
||||||
|
"Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1}
|
||||||
|
)
|
||||||
def test_sales_invoice_with_advance(self):
|
def test_sales_invoice_with_advance(self):
|
||||||
from erpnext.accounts.doctype.journal_entry.test_journal_entry import (
|
from erpnext.accounts.doctype.journal_entry.test_journal_entry import (
|
||||||
test_records as jv_test_records,
|
test_records as jv_test_records,
|
||||||
@@ -2885,7 +2898,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
sales_invoice.save()
|
sales_invoice.save()
|
||||||
self.assertEqual(sales_invoice.items[0].item_tax_template, "_Test Account Excise Duty @ 10 - _TC")
|
self.assertEqual(sales_invoice.items[0].item_tax_template, "_Test Account Excise Duty @ 10 - _TC")
|
||||||
|
|
||||||
@change_settings("Selling Settings", {"enable_discount_accounting": 1})
|
@IntegrationTestCase.change_settings("Selling Settings", {"enable_discount_accounting": 1})
|
||||||
def test_sales_invoice_with_discount_accounting_enabled(self):
|
def test_sales_invoice_with_discount_accounting_enabled(self):
|
||||||
discount_account = create_account(
|
discount_account = create_account(
|
||||||
account_name="Discount Account",
|
account_name="Discount Account",
|
||||||
@@ -2902,7 +2915,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
|
|
||||||
check_gl_entries(self, si.name, expected_gle, add_days(nowdate(), -1))
|
check_gl_entries(self, si.name, expected_gle, add_days(nowdate(), -1))
|
||||||
|
|
||||||
@change_settings("Selling Settings", {"enable_discount_accounting": 1})
|
@IntegrationTestCase.change_settings("Selling Settings", {"enable_discount_accounting": 1})
|
||||||
def test_additional_discount_for_sales_invoice_with_discount_accounting_enabled(self):
|
def test_additional_discount_for_sales_invoice_with_discount_accounting_enabled(self):
|
||||||
from erpnext.accounts.doctype.repost_accounting_ledger.test_repost_accounting_ledger import (
|
from erpnext.accounts.doctype.repost_accounting_ledger.test_repost_accounting_ledger import (
|
||||||
update_repost_settings,
|
update_repost_settings,
|
||||||
@@ -3336,7 +3349,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
si.commission_rate = commission_rate
|
si.commission_rate = commission_rate
|
||||||
self.assertRaises(frappe.ValidationError, si.save)
|
self.assertRaises(frappe.ValidationError, si.save)
|
||||||
|
|
||||||
@change_settings("Accounts Settings", {"acc_frozen_upto": add_days(getdate(), 1)})
|
@IntegrationTestCase.change_settings("Accounts Settings", {"acc_frozen_upto": add_days(getdate(), 1)})
|
||||||
def test_sales_invoice_submission_post_account_freezing_date(self):
|
def test_sales_invoice_submission_post_account_freezing_date(self):
|
||||||
si = create_sales_invoice(do_not_save=True)
|
si = create_sales_invoice(do_not_save=True)
|
||||||
si.posting_date = add_days(getdate(), 1)
|
si.posting_date = add_days(getdate(), 1)
|
||||||
@@ -3372,7 +3385,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
|
|
||||||
frappe.db.set_single_value("Accounts Settings", "over_billing_allowance", over_billing_allowance)
|
frappe.db.set_single_value("Accounts Settings", "over_billing_allowance", over_billing_allowance)
|
||||||
|
|
||||||
@change_settings(
|
@IntegrationTestCase.change_settings(
|
||||||
"Accounts Settings",
|
"Accounts Settings",
|
||||||
{
|
{
|
||||||
"book_deferred_entries_via_journal_entry": 1,
|
"book_deferred_entries_via_journal_entry": 1,
|
||||||
@@ -3492,7 +3505,9 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
account.disabled = 0
|
account.disabled = 0
|
||||||
account.save()
|
account.save()
|
||||||
|
|
||||||
@change_settings("Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1})
|
@IntegrationTestCase.change_settings(
|
||||||
|
"Accounts Settings", {"unlink_payment_on_cancellation_of_invoice": 1}
|
||||||
|
)
|
||||||
def test_gain_loss_with_advance_entry(self):
|
def test_gain_loss_with_advance_entry(self):
|
||||||
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
|
from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
|
||||||
|
|
||||||
@@ -3655,7 +3670,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
|
|
||||||
set_advance_flag(company="_Test Company", flag=0, default_account="")
|
set_advance_flag(company="_Test Company", flag=0, default_account="")
|
||||||
|
|
||||||
@change_settings("Selling Settings", {"customer_group": None, "territory": None})
|
@IntegrationTestCase.change_settings("Selling Settings", {"customer_group": None, "territory": None})
|
||||||
def test_sales_invoice_without_customer_group_and_territory(self):
|
def test_sales_invoice_without_customer_group_and_territory(self):
|
||||||
# create a customer
|
# create a customer
|
||||||
if not frappe.db.exists("Customer", "_Test Simple Customer"):
|
if not frappe.db.exists("Customer", "_Test Simple Customer"):
|
||||||
@@ -3673,7 +3688,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
self.assertEqual(si.customer_group, None)
|
self.assertEqual(si.customer_group, None)
|
||||||
self.assertEqual(si.territory, None)
|
self.assertEqual(si.territory, None)
|
||||||
|
|
||||||
@change_settings("Selling Settings", {"allow_negative_rates_for_items": 0})
|
@IntegrationTestCase.change_settings("Selling Settings", {"allow_negative_rates_for_items": 0})
|
||||||
def test_sales_return_negative_rate(self):
|
def test_sales_return_negative_rate(self):
|
||||||
si = create_sales_invoice(is_return=1, qty=-2, rate=-10, do_not_save=True)
|
si = create_sales_invoice(is_return=1, qty=-2, rate=-10, do_not_save=True)
|
||||||
self.assertRaises(frappe.ValidationError, si.save)
|
self.assertRaises(frappe.ValidationError, si.save)
|
||||||
@@ -4089,7 +4104,7 @@ class TestSalesInvoice(FrappeTestCase):
|
|||||||
self.assertEqual(len(actual), 4)
|
self.assertEqual(len(actual), 4)
|
||||||
self.assertEqual(expected, actual)
|
self.assertEqual(expected, actual)
|
||||||
|
|
||||||
@change_settings("Accounts Settings", {"enable_common_party_accounting": True})
|
@IntegrationTestCase.change_settings("Accounts Settings", {"enable_common_party_accounting": True})
|
||||||
def test_common_party_with_foreign_currency_jv(self):
|
def test_common_party_with_foreign_currency_jv(self):
|
||||||
from erpnext.accounts.doctype.account.test_account import create_account
|
from erpnext.accounts.doctype.account.test_account import create_account
|
||||||
from erpnext.accounts.doctype.opening_invoice_creation_tool.test_opening_invoice_creation_tool import (
|
from erpnext.accounts.doctype.opening_invoice_creation_tool.test_opening_invoice_creation_tool import (
|
||||||
@@ -4341,7 +4356,7 @@ def create_sales_invoice_against_cost_center(**args):
|
|||||||
return si
|
return si
|
||||||
|
|
||||||
|
|
||||||
test_dependencies = ["Journal Entry", "Contact", "Address"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Journal Entry", "Contact", "Address"]
|
||||||
test_records = frappe.get_test_records("Sales Invoice")
|
test_records = frappe.get_test_records("Sales Invoice")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ def valdiate_taxes_and_charges_template(doc):
|
|||||||
|
|
||||||
for tax in doc.get("taxes"):
|
for tax in doc.get("taxes"):
|
||||||
validate_taxes_and_charges(tax)
|
validate_taxes_and_charges(tax)
|
||||||
validate_account_head(tax.idx, tax.account_head, doc.company)
|
validate_account_head(tax.idx, tax.account_head, doc.company, _("Taxes and Charges"))
|
||||||
validate_cost_center(tax, doc)
|
validate_cost_center(tax, doc)
|
||||||
validate_inclusive_tax(tax, doc)
|
validate_inclusive_tax(tax, doc)
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
test_records = frappe.get_test_records("Sales Taxes and Charges Template")
|
test_records = frappe.get_test_records("Sales Taxes and Charges Template")
|
||||||
|
|
||||||
|
|
||||||
class TestSalesTaxesandChargesTemplate(unittest.TestCase):
|
class TestSalesTaxesandChargesTemplate(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.share_transfer.share_transfer import ShareDontExists
|
from erpnext.accounts.doctype.share_transfer.share_transfer import ShareDontExists
|
||||||
|
|
||||||
test_dependencies = ["Share Type", "Shareholder"]
|
EXTRA_TEST_RECORD_DEPENDENCIES = ["Share Type", "Shareholder"]
|
||||||
|
|
||||||
|
|
||||||
class TestShareTransfer(unittest.TestCase):
|
class TestShareTransfer(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
frappe.db.sql("delete from `tabShare Transfer`")
|
frappe.db.sql("delete from `tabShare Transfer`")
|
||||||
frappe.db.sql("delete from `tabShare Balance`")
|
frappe.db.sql("delete from `tabShare Balance`")
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestShareType(unittest.TestCase):
|
|
||||||
|
class TestShareType(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestShareholder(unittest.TestCase):
|
|
||||||
|
class TestShareholder(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# License: GNU General Public License v3. See license.txt
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.shipping_rule.shipping_rule import (
|
from erpnext.accounts.doctype.shipping_rule.shipping_rule import (
|
||||||
FromGreaterThanToError,
|
FromGreaterThanToError,
|
||||||
@@ -14,7 +14,7 @@ from erpnext.accounts.doctype.shipping_rule.shipping_rule import (
|
|||||||
test_records = frappe.get_test_records("Shipping Rule")
|
test_records = frappe.get_test_records("Shipping Rule")
|
||||||
|
|
||||||
|
|
||||||
class TestShippingRule(unittest.TestCase):
|
class TestShippingRule(IntegrationTestCase):
|
||||||
def test_from_greater_than_to(self):
|
def test_from_greater_than_to(self):
|
||||||
shipping_rule = frappe.copy_doc(test_records[0])
|
shipping_rule = frappe.copy_doc(test_records[0])
|
||||||
shipping_rule.name = test_records[0].get("name")
|
shipping_rule.name = test_records[0].get("name")
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.tests.utils import FrappeTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
from frappe.utils.data import (
|
from frappe.utils.data import (
|
||||||
add_days,
|
add_days,
|
||||||
add_months,
|
add_months,
|
||||||
@@ -18,10 +18,19 @@ from frappe.utils.data import (
|
|||||||
|
|
||||||
from erpnext.accounts.doctype.subscription.subscription import get_prorata_factor
|
from erpnext.accounts.doctype.subscription.subscription import get_prorata_factor
|
||||||
|
|
||||||
test_dependencies = ("UOM", "Item Group", "Item")
|
EXTRA_TEST_RECORD_DEPENDENCIES = ("UOM", "Item Group", "Item")
|
||||||
|
|
||||||
|
|
||||||
class TestSubscription(FrappeTestCase):
|
class UnitTestSubscription(UnitTestCase):
|
||||||
|
"""
|
||||||
|
Unit tests for Subscription.
|
||||||
|
Use this class for testing individual functions and methods.
|
||||||
|
"""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class TestSubscription(IntegrationTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
make_plans()
|
make_plans()
|
||||||
create_parties()
|
create_parties()
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestSubscriptionInvoice(unittest.TestCase):
|
|
||||||
|
class TestSubscriptionInvoice(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestSubscriptionPlan(unittest.TestCase):
|
|
||||||
|
class TestSubscriptionPlan(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestSubscriptionSettings(unittest.TestCase):
|
|
||||||
|
class TestSubscriptionSettings(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
class TestTaxCategory(unittest.TestCase):
|
|
||||||
|
class TestTaxCategory(IntegrationTestCase):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||||
# See license.txt
|
# See license.txt
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
from frappe.tests import IntegrationTestCase
|
||||||
|
|
||||||
from erpnext.accounts.doctype.tax_rule.tax_rule import ConflictingTaxRule, get_tax_template
|
from erpnext.accounts.doctype.tax_rule.tax_rule import ConflictingTaxRule, get_tax_template
|
||||||
from erpnext.crm.doctype.opportunity.opportunity import make_quotation
|
from erpnext.crm.doctype.opportunity.opportunity import make_quotation
|
||||||
@@ -12,7 +12,7 @@ from erpnext.crm.doctype.opportunity.test_opportunity import make_opportunity
|
|||||||
test_records = frappe.get_test_records("Tax Rule")
|
test_records = frappe.get_test_records("Tax Rule")
|
||||||
|
|
||||||
|
|
||||||
class TestTaxRule(unittest.TestCase):
|
class TestTaxRule(IntegrationTestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
frappe.db.set_single_value("Shopping Cart Settings", "enabled", 0)
|
frappe.db.set_single_value("Shopping Cart Settings", "enabled", 0)
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user