Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 

155 рядки
4.2 KiB

  1. import unittest, webnotes
  2. # TODO - rewrite this in Item Group
  3. # class TestNSM(unittest.TestCase):
  4. # def setUp(self):
  5. # webnotes.conn.sql("""delete from `tabItem Group`
  6. # where (name like 'c%') or (name like 'gc%')""")
  7. #
  8. #
  9. # self.data = [
  10. # ["All Item Groups", None, 1, 20],
  11. # ["c0", "All Item Groups", 2, 3],
  12. # ["c1", "All Item Groups", 4, 11],
  13. # ["gc1", "c1", 5, 6],
  14. # ["gc2", "c1", 7, 8],
  15. # ["gc3", "c1", 9, 10],
  16. # ["c2", "All Item Groups", 12, 17],
  17. # ["gc4", "c2", 13, 14],
  18. # ["gc5", "c2", 15, 16],
  19. # ["c3", "All Item Groups", 18, 19]
  20. # ]
  21. #
  22. # for d in self.data:
  23. # b = webnotes.bean([{
  24. # "doctype": "Item Group", "item_group_name": d[0], "parent_item_group": d[1],
  25. # "__islocal": 1, "is_group": "Yes"
  26. # }])
  27. # b.insert()
  28. # self.__dict__[d[0]] = b
  29. #
  30. #
  31. # self.reload_all()
  32. #
  33. # def reload_all(self, data=None):
  34. # for d in data or self.data:
  35. # self.__dict__[d[0]].load_from_db()
  36. #
  37. # def test_basic_tree(self, data=None):
  38. # for d in data or self.data:
  39. # self.assertEquals(self.__dict__[d[0]].doc.lft, d[2])
  40. # self.assertEquals(self.__dict__[d[0]].doc.rgt, d[3])
  41. #
  42. # def test_validate_loop_move(self):
  43. # self.c1.doc.parent_item_group = 'gc3'
  44. # self.assertRaises(webnotes.ValidationError, self.c1.save)
  45. #
  46. # def test_rebuild_tree(self):
  47. # from webnotes.utils.nestedset import rebuild_tree
  48. # rebuild_tree("Item Group", "parent_item_group")
  49. # self.test_basic_tree(self.data)
  50. #
  51. # def test_move_group(self):
  52. # self.c1.doc.parent_item_group = 'c2'
  53. # self.c1.save()
  54. # self.reload_all()
  55. #
  56. # new_tree = [
  57. # ["All Item Groups", None, 1, 20],
  58. # ["c0", "All Item Groups", 2, 3],
  59. # ["c2", "All Item Groups", 4, 17],
  60. # ["gc4", "c2", 5, 6],
  61. # ["gc5", "c2", 7, 8],
  62. # ["c1", "All Item Groups", 9, 16],
  63. # ["gc1", "c1", 10, 11],
  64. # ["gc2", "c1", 12, 13],
  65. # ["gc3", "c1", 14, 15],
  66. # ["c3", "All Item Groups", 18, 19]
  67. # ]
  68. # self.test_basic_tree(new_tree)
  69. #
  70. # # Move back
  71. #
  72. # self.c1.doc.parent_item_group = 'gc4'
  73. # self.c1.save()
  74. # self.reload_all()
  75. #
  76. # new_tree = [
  77. # ["All Item Groups", None, 1, 20],
  78. # ["c0", "All Item Groups", 2, 3],
  79. # ["c2", "All Item Groups", 4, 17],
  80. # ["gc4", "c2", 5, 14],
  81. # ["c1", "All Item Groups", 6, 13],
  82. # ["gc1", "c1", 7, 8],
  83. # ["gc2", "c1", 9, 10],
  84. # ["gc3", "c1", 11, 12],
  85. # ["gc5", "c2", 15, 16],
  86. # ["c3", "All Item Groups", 18, 19]
  87. # ]
  88. # self.test_basic_tree(new_tree)
  89. #
  90. # # Move to root
  91. #
  92. # # self.c1.doc.parent_item_group = ''
  93. # # self.c1.save()
  94. # # self.reload_all()
  95. # #
  96. # # new_tree = [
  97. # # ["All Item Groups", None, 1, 12],
  98. # # ["c0", "All Item Groups", 2, 3],
  99. # # ["c2", "All Item Groups", 4, 9],
  100. # # ["gc4", "c2", 5, 6],
  101. # # ["gc5", "c2", 7, 8],
  102. # # ["c3", "All Item Groups", 10, 11],
  103. # # ["c1", "All Item Groups", 13, 20],
  104. # # ["gc1", "c1", 14, 15],
  105. # # ["gc2", "c1", 16, 17],
  106. # # ["gc3", "c1", 18, 19],
  107. # # ]
  108. # # self.test_basic_tree(new_tree)
  109. #
  110. # # move leaf
  111. # self.gc3.doc.parent_item_group = 'c2'
  112. # self.gc3.save()
  113. # self.reload_all()
  114. #
  115. # new_tree = [
  116. # ["All Item Groups", None, 1, 20],
  117. # ["c0", "All Item Groups", 2, 3],
  118. # ["c2", "All Item Groups", 4, 17],
  119. # ["gc4", "c2", 5, 12],
  120. # ["c1", "All Item Groups", 6, 11],
  121. # ["gc1", "c1", 7, 8],
  122. # ["gc2", "c1", 9, 10],
  123. # ["gc5", "c2", 13, 14],
  124. # ["gc3", "c2", 15, 16],
  125. # ["c3", "All Item Groups", 18, 19]
  126. # ]
  127. # self.test_basic_tree(new_tree)
  128. #
  129. # # delete leaf
  130. # from webnotes.model import delete_doc
  131. # delete_doc(self.gc2.doc.doctype, self.gc2.doc.name)
  132. #
  133. # new_tree = [
  134. # ["All Item Groups", None, 1, 18],
  135. # ["c0", "All Item Groups", 2, 3],
  136. # ["c2", "All Item Groups", 4, 15],
  137. # ["gc4", "c2", 5, 10],
  138. # ["c1", "All Item Groups", 6, 9],
  139. # ["gc1", "c1", 7, 8],
  140. # ["gc5", "c2", 11, 12],
  141. # ["gc3", "c2", 13, 14],
  142. # ["c3", "All Item Groups", 16, 17]
  143. # ]
  144. #
  145. # del self.__dict__["gc2"]
  146. # self.reload_all(new_tree)
  147. # self.test_basic_tree(new_tree)
  148. #
  149. # if __name__=="__main__":
  150. # import webnotes
  151. # webnotes.connect()
  152. # unittest.main()