# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors # MIT License. See license.txt from __future__ import unicode_literals import unittest import frappe import json from frappe.desk.listview import get_list_settings, set_list_settings class TestListView(unittest.TestCase): def setUp(self): if frappe.db.exists("List View Setting", "DocType"): frappe.delete_doc("List View Setting", "DocType") def test_get_list_settings_without_settings(self): self.assertIsNone(get_list_settings("DocType"), None) def test_get_list_settings_with_default_settings(self): frappe.get_doc({"doctype": "List View Setting", "name": "DocType"}).insert() settings = get_list_settings("DocType") self.assertIsNotNone(settings) self.assertEqual(settings.disable_auto_refresh, 0) self.assertEqual(settings.disable_count, 0) self.assertEqual(settings.disable_sidebar_stats, 0) def test_get_list_settings_with_non_default_settings(self): frappe.get_doc({"doctype": "List View Setting", "name": "DocType", "disable_count": 1}).insert() settings = get_list_settings("DocType") self.assertIsNotNone(settings) self.assertEqual(settings.disable_auto_refresh, 0) self.assertEqual(settings.disable_count, 1) self.assertEqual(settings.disable_sidebar_stats, 0) def test_set_list_settings_without_settings(self): set_list_settings("DocType", json.dumps({})) settings = frappe.get_doc("List View Setting","DocType") self.assertEqual(settings.disable_auto_refresh, 0) self.assertEqual(settings.disable_count, 0) self.assertEqual(settings.disable_sidebar_stats, 0) def test_set_list_settings_with_existing_settings(self): frappe.get_doc({"doctype": "List View Setting", "name": "DocType", "disable_count": 1}).insert() set_list_settings("DocType", json.dumps({"disable_count": 0, "disable_auto_refresh": 1})) settings = frappe.get_doc("List View Setting","DocType") self.assertEqual(settings.disable_auto_refresh, 1) self.assertEqual(settings.disable_count, 0) self.assertEqual(settings.disable_sidebar_stats, 0)