Category self membership after move and clone
Categories are member of themselves. When a category is renamed, the membership to self was already preserved thanks to 7f2e8eb2 , but this was not the case when a category was cut and pasted.
There are two different cases:
- When just created, a category is member of itself because this is the default behavior for categories not having categories set. In this case, it's dynamic.
- When category has some categories set ( in
self.categories
) - this happens for example after being renamed - then behavior is different andself.categories
has to be updated.
7f2e8eb2 was handling properly the later case after a clone, but not in a cut and paste ( move ) scenario, because in this case "after clone" hook is not called.
The first idea was to move the same hook at another level by overloading _postCopy
but after some discussion and thinking, it seemed more logical to make sure CategoryTool.setCategoryList
does not save categories membership to self, which is consistent in the way CategoryTool.getCategoryList
adds the membership to self dynamically.
This MR brings a few more tests, so that we can claim #1900 and #704 are tested enough and close these old bugs.