82 | | === Create a Generic Test Function for Report Tests === |
83 | | Currently the Sahana test framework has a {{{create}}} function in {{{eden/modules/tests/web2unittests.py}}} which makes it simple to write tests for creating records. A similar function could be written for the Report Function. Ideally this would re-use features from / share code with the {{{search}}} helper described above -- it would be good to read that description. Because of this dependency, it might be better if this is done after {{{search}}}. Note for GCI: It's ok to claim this task if someone is working on {{{search}}}, and get a start on it. The {{{report}}} helper would do the following: |
84 | | * Have parameters for: |
85 | | * The search query -- which fields to search on and their values. (See the description of parameters for the {{{search}}} helper above.) |
86 | | * The report options. |
87 | | * The expected results. This doesn't have to be all of the results - just the number of rows and columns (and perhaps optionally the values?) and specified cells in the report table. |
88 | | * Fill the search criteria in advanced form for the report. |
89 | | * Fill the report options. |
90 | | * Generate the report. |
91 | | * Check that the results are exactly as given. |
92 | | * If feasible, extend this to also test the simple report. |
93 | | * Can you use the same data to test the simple report form? |
94 | | * Does the caller need to tell you which field the simple report uses? |
95 | | * Think about what code could be shared between your {{{report}}} function, the {{{create}}} function, and the {{{search}}} function task above. |
96 | | Test this function in at least one test script. |
| 82 | === ~~Create a Generic Test Function for Report Tests~~ === |
| 83 | ~~Currently the Sahana test framework has a {{{create}}} function in {{{eden/modules/tests/web2unittests.py}}} which makes it simple to write tests for creating records. A similar function could be written for the Report Function. Ideally this would re-use features from / share code with the {{{search}}} helper described above -- it would be good to read that description. Because of this dependency, it might be better if this is done after {{{search}}}. Note for GCI: It's ok to claim this task if someone is working on {{{search}}}, and get a start on it. The {{{report}}} helper would do the following:~~ |
| 84 | * ~~Have parameters for:~~ |
| 85 | * ~~The search query -- which fields to search on and their values. (See the description of parameters for the {{{search}}} helper above.)~~ |
| 86 | * ~~The report options.~~ |
| 87 | * ~~The expected results. This doesn't have to be all of the results - just the number of rows and columns (and perhaps optionally the values?) and specified cells in the report table.~~ |
| 88 | * ~~Fill the search criteria in advanced form for the report.~~ |
| 89 | * ~~Fill the report options.~~ |
| 90 | * ~~Generate the report.~~ |
| 91 | * ~~Check that the results are exactly as given.~~ |
| 92 | * ~~If feasible, extend this to also test the simple report.~~ |
| 93 | * ~~Can you use the same data to test the simple report form?~~ |
| 94 | * ~~Does the caller need to tell you which field the simple report uses?~~ |
| 95 | * ~~Think about what code could be shared between your {{{report}}} function, the {{{create}}} function, and the {{{search}}} function task above.~~ |
| 96 | ~~Test this function in at least one test script.~~ |
| 97 | |
| 98 | (implemented: https://github.com/flavour/eden/commit/dc7cc36f488108eb2ce2102b745cf56222e716ca) |