# Terminology:
* leaf category - category without sub-categories inside it
* sub-tree - category with sub-categories inside it
# Recycle Bin functionality
* to enable:
# create a `Recycle Bin` category (name doesn't matter)
# specify it's ID in the `RecycleBinFolder` system setting in {nav Configuration > Website > Output} section
* to disable:
# clear value of the `RecycleBinFolder` system setting in {nav Configuration > Website > Output} section
# Fields to be checked after each performed action in `Categories` table:
* `ParentPath`
* `NamedParentPath`
* `NamedParentPathHash`
* `CachedTemplate`
* `CachedTemplateHash`
* `CachedDescendantCatsQty`
* `TreeLeft`
* `TreeRight`
# Actions to be tested:
* adding new leaf category
* deleting leaf category with `Recycle Bin` functionality disabled
* deleting sub-tree with `Recycle Bin` functionality disabled
* deleting leaf category with `Recycle Bin` functionality enabled
* deleting sub-tree with `Recycle Bin` functionality enabled
* moving leaf category via `Cut` and `Paste` buttons on toolbar
* moving sub-tree via `Cut` and `Paste` buttons on toolbar
* moving leaf category by changing `Parent Section` dropdown during category editing
* moving sub-tree by changing `Parent Section` dropdown during sub-tree's root category editing
* **NEW:** changing these fields of leaf: `Filename`, `Template`
* **NEW:** changing these fields of sub-tree: `Filename`, `Template`
# Test goals
# above specified fields (except `TreeLeft` and `TreeRight`) will have exactly same values for **ALL** categories, when category is added/moved/deleted compared to field values after full category cache rebuild (done via `Tools > Rebuild Section Cache` action)
# the `TreeLeft` and `TreeRight` fields will have equivalent values (actual values might be different, but doing `TreeLeft BETWEEN A AND B` sql will yield same set of categories) for **ALL** categories, when category is added/moved/deleted compared to field values after full category cache rebuild (done via `Tools > Rebuild Section Cache` action)
# after any performed action the `+` icon before category name in category tree in left frame of Admin Console must be shown only for categories, that have sub-categories (sub-tree)
# after any performed action the `CachedDescendantCatsQty` of a category should tell how much categories there are in a sub-tree (on all levels)
# the menu cache, used by `<inp2:st_CachedMenu` tag is reset after any of above hierarchy changing actions
# the category list cache in `Parent Section` dropdown is reset after any of above hierarchy changing actions
# Test Plan (part 1)
* perform each action from above list and confirm, that it does meet all test goals listed above
# Test Plan (part 2)
* perform clean install of In-Portal 5.2.x with Patch applied
* confirm, that value of `Section Permission Rebuild Mode` system setting in {nav Configuration > Website > Output} section is set to `Manual`
* perform clean install of In-Portal 5.2.1
* confirm, that value of `Section Permission Rebuild Mode` system setting in {nav Configuration > Website > Output} section is set to `Automatic`
* perform upgrade to In-Portal 5.2.x with Patch applied
* confirm, that value of `Section Permission Rebuild Mode` system setting in {nav Configuration > Website > Output} section is set to `Manual`
# Test Plan (part 3)
* go to {nav Website & Content > Structure & Data} section
* click on `Sections` tab
* click on `Tools` button on toolbar and select `Edit Current Section` action
* change some permissions in there
* save changes
* confirm, that changes were saved and no error happened by opening same category editing