MOBILE-4350 quiz: Disable sequential navigation items
This commit is contained in:
		
							parent
							
								
									c41ac5a3cf
								
							
						
					
					
						commit
						5c1606e595
					
				| @ -15,7 +15,8 @@ | |||||||
|         <ion-list> |         <ion-list> | ||||||
|             <ion-item button class="ion-text-wrap {{question.stateClass}}" *ngFor="let question of navigation" |             <ion-item button class="ion-text-wrap {{question.stateClass}}" *ngFor="let question of navigation" | ||||||
|                 [attr.aria-current]="!summaryShown && currentPage === question.page ? 'page' : 'false'" |                 [attr.aria-current]="!summaryShown && currentPage === question.page ? 'page' : 'false'" | ||||||
|                 (click)="loadPage(question.page, question.slot)" [detail]="false"> |                 [disabled]="!isReview && isSequential && currentPage !== question.page" (click)="loadPage(question.page, question.slot)" | ||||||
|  |                 [detail]="false"> | ||||||
| 
 | 
 | ||||||
|                 <ion-label class="ion-text-wrap"> |                 <ion-label class="ion-text-wrap"> | ||||||
|                     <span *ngIf="question.type !== 'description' && question.questionnumber"> |                     <span *ngIf="question.type !== 'description' && question.questionnumber"> | ||||||
|  | |||||||
| @ -30,6 +30,7 @@ export class AddonModQuizNavigationModalComponent { | |||||||
|     @Input() summaryShown?: boolean; // Whether summary is currently being shown.
 |     @Input() summaryShown?: boolean; // Whether summary is currently being shown.
 | ||||||
|     @Input() currentPage?: number; // Current page.
 |     @Input() currentPage?: number; // Current page.
 | ||||||
|     @Input() isReview?: boolean; // Whether the user is reviewing the attempt.
 |     @Input() isReview?: boolean; // Whether the user is reviewing the attempt.
 | ||||||
|  |     @Input() isSequential?: boolean; // Whether quiz navigation is sequential.
 | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * Close modal. |      * Close modal. | ||||||
|  | |||||||
| @ -559,8 +559,6 @@ export class AddonModQuizPlayerPage implements OnInit, OnDestroy, CanLeave { | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // @todo MOBILE-4350: This is called before getting the attempt data in sequential quizzes as a workaround for a bug
 |  | ||||||
|         // in the LMS. Once the bug has been fixed, this should be reverted.
 |  | ||||||
|         if (this.isSequential) { |         if (this.isSequential) { | ||||||
|             await this.logViewPage(page); |             await this.logViewPage(page); | ||||||
|         } |         } | ||||||
| @ -594,7 +592,6 @@ export class AddonModQuizPlayerPage implements OnInit, OnDestroy, CanLeave { | |||||||
| 
 | 
 | ||||||
|         // Mark the page as viewed.
 |         // Mark the page as viewed.
 | ||||||
|         if (!this.isSequential) { |         if (!this.isSequential) { | ||||||
|             // @todo MOBILE-4350: Undo workaround.
 |  | ||||||
|             await this.logViewPage(page); |             await this.logViewPage(page); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -734,6 +731,7 @@ export class AddonModQuizPlayerPage implements OnInit, OnDestroy, CanLeave { | |||||||
|                 summaryShown: this.showSummary, |                 summaryShown: this.showSummary, | ||||||
|                 currentPage: this.attempt?.currentpage, |                 currentPage: this.attempt?.currentpage, | ||||||
|                 isReview: false, |                 isReview: false, | ||||||
|  |                 isSequential: this.isSequential, | ||||||
|             }, |             }, | ||||||
|         }); |         }); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -345,6 +345,7 @@ export class AddonModQuizReviewPage implements OnInit { | |||||||
|                 summaryShown: false, |                 summaryShown: false, | ||||||
|                 currentPage: this.attempt?.currentpage, |                 currentPage: this.attempt?.currentpage, | ||||||
|                 isReview: true, |                 isReview: true, | ||||||
|  |                 isSequential: this.quiz && AddonModQuiz.isNavigationSequential(this.quiz), | ||||||
|             }, |             }, | ||||||
|         }); |         }); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -83,55 +83,58 @@ Feature: Navigate through a quiz in the app | |||||||
|     And I should find "Text of the first question" in the app |     And I should find "Text of the first question" in the app | ||||||
|     And I should find "Text of the second question" in the app |     And I should find "Text of the second question" in the app | ||||||
| 
 | 
 | ||||||
|     # @todo MOBILE-4350 uncomment and update this test. |   Scenario: Sequential navigation | ||||||
| #   Scenario: Sequential navigation |     Given I entered the quiz activity "Quiz 2" on course "Course 1" as "student1" in the app | ||||||
| #     Given I entered the quiz activity "Quiz 2" on course "Course 1" as "student1" in the app |     And I press "Attempt quiz now" in the app | ||||||
| #     And I press "Attempt quiz now" in the app |     Then I should find "Text of the first question" in the app | ||||||
| #     Then I should find "Text of the first question" in the app |     But I should not find "Text of the second question" in the app | ||||||
| #     But I should not find "Text of the second question" in the app |     And I should not find "Text of the third question" in the app | ||||||
| #     And I should not find "Text of the third question" in the app |  | ||||||
| 
 | 
 | ||||||
| #     When I press "Open navigation popover" in the app |     When I press "Open navigation popover" in the app | ||||||
| #     Then I should find "Question 1" in the app |     Then I should find "Question 1" in the app | ||||||
| #     But I should not find "Question 2" in the app |     And I should find "Question 2" in the app | ||||||
| #     And I should not find "Question 3" in the app |     And I should find "Question 3" in the app | ||||||
|  |     But I should not be able to press "Question 2" in the app | ||||||
|  |     And I should not be able to press "Question 3" in the app | ||||||
| 
 | 
 | ||||||
| #     When I press "Close" in the app |     When I press "Close" in the app | ||||||
| #     And I press "Next" in the app |     And I press "Next" in the app | ||||||
| #     Then I should find "Text of the second question" in the app |     Then I should find "Text of the second question" in the app | ||||||
| #     But I should not find "Text of the first question" in the app |     But I should not find "Text of the first question" in the app | ||||||
| #     And I should not find "Text of the third question" in the app |     And I should not find "Text of the third question" in the app | ||||||
| #     And I should not find "Previous" in the app |     And I should not find "Previous" in the app | ||||||
| 
 | 
 | ||||||
| #     When I press "Open navigation popover" in the app |     When I press "Open navigation popover" in the app | ||||||
| #     Then I should find "Question 2" in the app |     Then I should find "Question 1" in the app | ||||||
| #     But I should not find "Question 1" in the app |     And I should find "Question 2" in the app | ||||||
| #     And I should not find "Question 3" in the app |     And I should find "Question 3" in the app | ||||||
|  |     But I should not be able to press "Question 1" in the app | ||||||
|  |     And I should not be able to press "Question 3" in the app | ||||||
| 
 | 
 | ||||||
| #     When I press "Close" in the app |     When I press "Close" in the app | ||||||
| #     And I press "Next" in the app |     And I press "Next" in the app | ||||||
| #     Then I should find "Text of the third question" in the app |     Then I should find "Text of the third question" in the app | ||||||
| #     But I should not find "Text of the first question" in the app |     But I should not find "Text of the first question" in the app | ||||||
| #     And I should not find "Text of the second question" in the app |     And I should not find "Text of the second question" in the app | ||||||
| #     And I should not find "Previous" in the app |     And I should not find "Previous" in the app | ||||||
| 
 | 
 | ||||||
| #     When I press "Open navigation popover" in the app |     When I press "Open navigation popover" in the app | ||||||
| #     Then I should find "Question 3" in the app |     Then I should find "Question 1" in the app | ||||||
| #     But I should not find "Question 1" in the app |     And I should find "Question 2" in the app | ||||||
| #     And I should not find "Question 2" in the app |     And I should find "Question 3" in the app | ||||||
|  |     But I should not be able to press "Question 1" in the app | ||||||
|  |     And I should not be able to press "Question 2" in the app | ||||||
| 
 | 
 | ||||||
| #     When I press "Close" in the app |     When I press "Close" in the app | ||||||
| #     And I press "Submit" in the app |     And I press "Submit" in the app | ||||||
| #     Then I should find "Summary of attempt" in the app |     Then I should find "Summary of attempt" in the app | ||||||
| #     # @todo MOBILE-4350: Uncomment these. |     And I should find "Not yet answered" within "1" "ion-item" in the app | ||||||
| #     # And I should find "Not yet answered" within "1" "ion-item" in the app |     And I should find "Not yet answered" within "2" "ion-item" in the app | ||||||
| #     # And I should find "Not yet answered" within "2" "ion-item" in the app |     And I should find "Not yet answered" within "3" "ion-item" in the app | ||||||
| #     # And I should find "Not yet answered" within "3" "ion-item" in the app |  | ||||||
| 
 | 
 | ||||||
| #     When I press "Submit all and finish" in the app |     When I press "Submit all and finish" in the app | ||||||
| #     And I press "Submit" near "Once you submit" in the app |     And I press "Submit" near "Once you submit" in the app | ||||||
| #     Then I should find "Review" in the app |     Then I should find "Review" in the app | ||||||
| #     # @todo MOBILE-4350: Uncomment these. |     And I should find "Text of the first question" in the app | ||||||
| #     # And I should find "Text of the first question" in the app |     And I should find "Text of the second question" in the app | ||||||
| #     # And I should find "Text of the second question" in the app |     And I should find "Text of the third question" in the app | ||||||
| #     # And I should find "Text of the third question" in the app |  | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user