Will build upon the changes proposed in bug 10290. IMO this unit test should not just delete all records at the start. (Why ruin my test database for lazy programming :) ? Furthermore, the unique name test for lists is not completely correct. Will also add two small new tests for AddShare from bug 9032. Note also that a test db may not even contain 10 borrowers.. And some room for more refinements, when working on it.
(In reply to comment #0) > IMO this unit test should not just delete all records at the start. (Why > ruin my test database for lazy programming :) ? Indeed. I think a worthwhile goal would be for each DB-dependent test (or perhaps the DB-dependent test suite as a whole) to leave the database in essentially the same state it started in.
Created attachment 18821 [details] [review] Bug 10386: VirtualShelves.t needs some more adjustments Most important: Does no longer delete all shelves! Checks if there are ten borrowers for testing. But even works without them :) When creating or modifying lists, takes name clashes into consideration. Small change to _CheckShelfName in VirtualShelves module. Making it possible to check a name for a list whose owner has been set to NULL. Note that a test like field=? with undef for placeholder will not work in MySql. Test plan: How do you test a test? Well, you could run it on various databases.. But for real hacking, you could also add some debug lines. I tested this by forcing 10 undefs in @borrowernumbers. And by overwriting the return value of randomname with an existing name.
(In reply to comment #0) > Will also add two small new tests for AddShare from bug 9032. This patch does not depend on bug 9032. The tests for AddShare are added on bug 10441.
Created attachment 19178 [details] [review] Bug 10386: VirtualShelves.t needs some more adjustments Most important: Does no longer delete all shelves! Checks if there are ten borrowers for testing. But even works without them :) When creating or modifying lists, takes name clashes into consideration. Small change to _CheckShelfName in VirtualShelves module. Making it possible to check a name for a list whose owner has been set to NULL. Note that a test like field=? with undef for placeholder will not work in MySql. Test plan: How do you test a test? Well, you could run it on various databases.. But for real hacking, you could also add some debug lines. I tested this by forcing 10 undefs in @borrowernumbers. And by overwriting the return value of randomname with an existing name. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Created attachment 19273 [details] [review] Bug 10386: VirtualShelves.t needs some more adjustments Most important: Does no longer delete all shelves! Checks if there are ten borrowers for testing. But even works without them :) When creating or modifying lists, takes name clashes into consideration. Small change to _CheckShelfName in VirtualShelves module. Making it possible to check a name for a list whose owner has been set to NULL. Note that a test like field=? with undef for placeholder will not work in MySql. Test plan: How do you test a test? Well, you could run it on various databases.. But for real hacking, you could also add some debug lines. I tested this by forcing 10 undefs in @borrowernumbers. And by overwriting the return value of randomname with an existing name. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Pushed to master. Thanks, Marcel!
This patch has been pushed to 3.12.x, will be in 3.12.2. Thanks Marcel!
Pushed to 3.10.x, will be in 3.10.8
Pushed to 3.8.x, will be in 3.8.17