stable

Clone or download

Read-only

request #12083 Infinite loop when a user cannot see a test definition

How to test: - build the app and CSS - Add a Permission field on the Test Definition tracker. Set up a Test Definition artifact so that a user cannot read it. - Add the Test Definition to a campaign. - As that user, browse to the Details of the campaign (to see the list of tests) - Without this patch, an unhandled rejection error appears in the console and the spinner is always shown. With it, no error happens and only the tests the user can see will be shown. - Still as the same user, Edit the campaign - Without this patch, an infinite loop of requests happens. With it, only the tests the user can see will be shown. - When a user can't see ANY test of a campaign (or when you create a new campaign with no tests) then an empty state will be shown. - When a user can't see a definition and edits the campaign and add/remove tests, they don't remove the test definition they can't see. - REST errors when loading test executions will be shown (in feedback). - As anonymous, if you "cancel" the basic auth pop-ups, an error will be shown instead of infinite spinner. As the patch is already pretty big, some issues had to be left for later. Will be done later: - REST Errors in the Edit campaign modal are never handled (unhandled rejection in console) - Empty state in the Edit campaign modal - When someone who can see the test changes its status and when I learn about it through realtime, then there will be an unhandled rejection. The campaign progress bar will only be accurate on reload. - Removing $scope Change-Id: Ib3ae8b26af354bc85112684ad62e25e74734985c

Modified Files

Name
M include/TestManagement/REST/v1/CampaignsResource.class.php +8 −13 Go to diff View file
M include/TestManagement/REST/v1/ExecutionRepresentationBuilder.php +9 −7 Go to diff View file
M www/scripts/angular/po/fr.po +8 −0 Go to diff View file
M www/scripts/angular/po/template.pot +8 −0 Go to diff View file
M www/scripts/angular/src/app/api/rest-querier.js +15 −1 Go to diff View file
M www/scripts/angular/src/app/api/rest-querier.spec.js +48 −1 Go to diff View file
M www/scripts/angular/src/app/app.spec.js +2 −0 Go to diff View file
M www/scripts/angular/src/app/campaign/campaign-edit-controller.js +16 −32 Go to diff View file
A www/scripts/angular/src/app/campaign/campaign-edit-controller.spec.js +109 −0 Go to diff View file
M www/scripts/angular/src/app/campaign/campaign.js +2 −0 Go to diff View file
M www/scripts/angular/src/app/definition/definition-service.js +12 −27 Go to diff View file
M www/scripts/angular/src/app/execution-collection/execution-service.js +2 −5 Go to diff View file
M www/scripts/angular/src/app/execution-collection/execution-service.spec.js +23 −20 Go to diff View file
M www/scripts/angular/src/app/execution/execution-list-controller.js +50 −29 Go to diff View file
A www/scripts/angular/src/app/execution/execution-list-controller.spec.js +139 −0 Go to diff View file
M www/scripts/angular/src/app/execution/execution-list.tpl.html +4 −0 Go to diff View file
M www/themes/BurningParrot/css/_testmanagement.scss +1 −1 Go to diff View file
R www/themes/BurningParrot/css/includes/_execution.scss Go to diff View file