forked from EVOgeek/Vmeda.Online
		
	MOBILE-4116 moment: Force timezone for moment in behat tests
This commit is contained in:
		
							parent
							
								
									00170e090c
								
							
						
					
					
						commit
						88a19ea066
					
				
							
								
								
									
										8
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -23663,6 +23663,14 @@ | ||||
|       "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", | ||||
|       "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" | ||||
|     }, | ||||
|     "moment-timezone": { | ||||
|       "version": "0.5.34", | ||||
|       "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", | ||||
|       "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", | ||||
|       "requires": { | ||||
|         "moment": ">= 2.9.0" | ||||
|       } | ||||
|     }, | ||||
|     "move-concurrently": { | ||||
|       "version": "1.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", | ||||
|  | ||||
| @ -119,6 +119,7 @@ | ||||
|     "jszip": "^3.7.1", | ||||
|     "mathjax": "2.7.7", | ||||
|     "moment": "^2.29.2", | ||||
|     "moment-timezone": "^0.5.34", | ||||
|     "nl.kingsquare.cordova.background-audio": "^1.0.1", | ||||
|     "rxjs": "~6.5.5", | ||||
|     "ts-md5": "^1.2.7", | ||||
|  | ||||
| @ -22,7 +22,7 @@ import { | ||||
|     AddonCalendarGetActionEventsByTimesortWSParams, | ||||
|     AddonCalendarGetActionEventsByCoursesWSParams, | ||||
| } from '@addons/calendar/services/calendar'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { makeSingleton } from '@singletons'; | ||||
| import { CoreSiteWSPreSets } from '@classes/site'; | ||||
| 
 | ||||
|  | ||||
| @ -48,7 +48,7 @@ import { | ||||
|     CoreSwipeSlidesDynamicItemsManagerSource, | ||||
| } from '@classes/items-management/swipe-slides-dynamic-items-manager-source'; | ||||
| import { CoreSwipeSlidesDynamicItemsManager } from '@classes/items-management/swipe-slides-dynamic-items-manager'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| 
 | ||||
| /** | ||||
|  * Component that displays a calendar. | ||||
|  | ||||
| @ -32,7 +32,7 @@ import { AddonCalendarSync, AddonCalendarSyncProvider } from '../../services/cal | ||||
| import { CoreCategoryData, CoreCourses, CoreEnrolledCourseData } from '@features/courses/services/courses'; | ||||
| import { CoreCoursesHelper } from '@features/courses/services/courses-helper'; | ||||
| import { AddonCalendarFilterComponent } from '../../components/filter/filter'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { NgZone } from '@singletons'; | ||||
| import { CoreNavigator } from '@services/navigator'; | ||||
| import { Params } from '@angular/router'; | ||||
|  | ||||
| @ -31,7 +31,7 @@ import { CoreConfig } from '@services/config'; | ||||
| import { CoreUtils } from '@services/utils/utils'; | ||||
| import { CoreCourse } from '@features/course/services/course'; | ||||
| import { ContextLevel, CoreConstants } from '@/core/constants'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { makeSingleton } from '@singletons'; | ||||
| import { AddonCalendarSyncInvalidateEvent } from './calendar-sync'; | ||||
| import { AddonCalendarOfflineEventDBRecord } from './database/calendar-offline'; | ||||
|  | ||||
| @ -29,7 +29,7 @@ import { AddonCalendarHelper } from './calendar-helper'; | ||||
| import { makeSingleton, Translate } from '@singletons'; | ||||
| import { CoreSync } from '@services/sync'; | ||||
| import { CoreNetworkError } from '@classes/errors/network-error'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| 
 | ||||
| /** | ||||
|  * Service to sync calendar. | ||||
|  | ||||
| @ -27,7 +27,7 @@ import { ILocalNotification } from '@ionic-native/local-notifications'; | ||||
| import { AddonCalendarOffline } from './calendar-offline'; | ||||
| import { CoreUser } from '@features/user/services/user'; | ||||
| import { CoreWSExternalWarning, CoreWSDate } from '@services/ws'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { AddonCalendarEventDBRecord, AddonCalendarReminderDBRecord, EVENTS_TABLE, REMINDERS_TABLE } from './database/calendar'; | ||||
| import { CoreCourses } from '@features/courses/services/courses'; | ||||
| import { ContextLevel, CoreConstants } from '@/core/constants'; | ||||
|  | ||||
| @ -36,7 +36,7 @@ import { CoreLogger } from '@singletons/logger'; | ||||
| import { CoreApp } from '@services/app'; | ||||
| import { CoreInfiniteLoadingComponent } from '@components/infinite-loading/infinite-loading'; | ||||
| import { Md5 } from 'ts-md5/dist/md5'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { CoreError } from '@classes/errors/error'; | ||||
| import { Translate } from '@singletons'; | ||||
| import { CoreNavigator } from '@services/navigator'; | ||||
|  | ||||
| @ -16,8 +16,8 @@ Feature: Test basic usage of assignment activity in app | ||||
|       | teacher1 | C1 | editingteacher | | ||||
|       | student1 | C1 | student | | ||||
|     And the following "activities" exist: | ||||
|       | activity | course | idnumber | name                | intro                        | assignsubmission_onlinetext_enabled | duedate    | attemptreopenmethod | | ||||
|       | assign   | C1     | assign1  | assignment1         | Test assignment description1 | 1                                   | 1029844800 | manual              | | ||||
|       | activity | course | idnumber | name         | intro                        | assignsubmission_onlinetext_enabled | duedate                       | attemptreopenmethod | | ||||
|       | assign   | C1     | assign1  | assignment1  | Test assignment description1 | 1                                   | ## 20 August 2002 12:00 PM ## | manual              | | ||||
| 
 | ||||
|   Scenario: View assign description, due date & View list of student submissions (as teacher) & View own submission or student submission | ||||
|     # Create, edit and submit as a student | ||||
|  | ||||
| @ -16,8 +16,8 @@ Feature: Test basic usage of assignment activity in app | ||||
|       | teacher1 | C1 | editingteacher | | ||||
|       | student1 | C1 | student | | ||||
|     And the following "activities" exist: | ||||
|       | activity | course | idnumber | name                | intro                        | assignsubmission_onlinetext_enabled | duedate    | attemptreopenmethod | | ||||
|       | assign   | C1     | assign1  | assignment1         | Test assignment description1 | 1                                   | 1029844800 | manual              | | ||||
|       | activity | course | idnumber | name         | intro                        | assignsubmission_onlinetext_enabled | duedate                       | attemptreopenmethod | | ||||
|       | assign   | C1     | assign1  | assignment1  | Test assignment description1 | 1                                   | ## 20 August 2002 12:00 PM ## | manual              | | ||||
| 
 | ||||
|   @lms_from3.11 | ||||
|   Scenario: View assign description, due date & View list of student submissions (as teacher) & View own submission or student submission | ||||
|  | ||||
| @ -14,7 +14,7 @@ | ||||
| 
 | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { makeSingleton, Translate } from '@singletons'; | ||||
| import * as moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { AddonModChatMessage, AddonModChatSessionMessage } from './chat'; | ||||
| 
 | ||||
| const patternTo = new RegExp(/^To\s([^:]+):(.*)/); | ||||
|  | ||||
| @ -40,7 +40,7 @@ import { CoreCommentsDBRecord } from '@features/comments/services/database/comme | ||||
| import { CoreTimeUtils } from '@services/utils/time'; | ||||
| import { CoreApp } from '@services/app'; | ||||
| import { CoreNetwork } from '@services/network'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { Subscription } from 'rxjs'; | ||||
| import { CoreAnimations } from '@components/animations'; | ||||
| 
 | ||||
|  | ||||
| @ -72,7 +72,7 @@ import { DomSanitizer } from '@angular/platform-browser'; | ||||
| import { FormBuilder, Validators } from '@angular/forms'; | ||||
| import { HttpClient } from '@angular/common/http'; | ||||
| import { CoreConstants } from '@/core/constants'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { Md5 } from 'ts-md5/dist/md5'; | ||||
| 
 | ||||
| // Import core classes that can be useful for site plugins.
 | ||||
|  | ||||
| @ -14,7 +14,7 @@ | ||||
| 
 | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { Params } from '@angular/router'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| 
 | ||||
| import { CoreSites, CoreSitesReadingStrategy } from '@services/sites'; | ||||
| import { | ||||
|  | ||||
| @ -25,7 +25,7 @@ import { | ||||
| import { makeSingleton, Translate } from '@singletons'; | ||||
| import { CoreWSExternalFile } from '@services/ws'; | ||||
| import { AddonCourseCompletion } from '@addons/coursecompletion/services/coursecompletion'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| 
 | ||||
| /** | ||||
|  * Helper to gather some common courses functions. | ||||
|  | ||||
| @ -13,7 +13,7 @@ | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import { Pipe, PipeTransform } from '@angular/core'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| 
 | ||||
| import { CoreTimeUtils } from '@services/utils/time'; | ||||
| import { Translate } from '@singletons'; | ||||
|  | ||||
| @ -15,7 +15,7 @@ | ||||
| import { Pipe, PipeTransform } from '@angular/core'; | ||||
| import { Translate } from '@singletons'; | ||||
| import { CoreLogger } from '@singletons/logger'; | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| 
 | ||||
| /** | ||||
|  * Pipe to turn a UNIX timestamp to "time ago". | ||||
|  | ||||
| @ -21,7 +21,7 @@ import { CoreConfig } from '@services/config'; | ||||
| import { CoreSubscriptions } from '@singletons/subscriptions'; | ||||
| import { makeSingleton, Translate, Http } from '@singletons'; | ||||
| 
 | ||||
| import * as moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { CoreSite } from '../classes/site'; | ||||
| import { CorePlatform } from '@services/platform'; | ||||
| 
 | ||||
|  | ||||
| @ -14,7 +14,7 @@ | ||||
| 
 | ||||
| import { Injectable } from '@angular/core'; | ||||
| 
 | ||||
| import moment, { LongDateFormatKey } from 'moment'; | ||||
| import moment, { LongDateFormatKey } from 'moment-timezone'; | ||||
| import { makeSingleton, Translate } from '@singletons'; | ||||
| import { CoreTime } from '@singletons/time'; | ||||
| 
 | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| // See the License for the specific language governing permissions and
 | ||||
| // limitations under the License.
 | ||||
| 
 | ||||
| import moment from 'moment'; | ||||
| import moment from 'moment-timezone'; | ||||
| 
 | ||||
| import { CoreConstants } from '@/core/constants'; | ||||
| 
 | ||||
|  | ||||
| @ -14,23 +14,33 @@ | ||||
| 
 | ||||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||||
| import { CoreAppProvider } from '@services/app'; | ||||
| import moment from 'moment-timezone'; | ||||
| import { TestingBehatRuntime, TestingBehatRuntimeService } from './services/behat-runtime'; | ||||
| 
 | ||||
| type AutomatedTestsWindow = Window & { | ||||
|     behat?: TestingBehatRuntimeService; | ||||
| }; | ||||
| 
 | ||||
| function initializeAutomatedTestsWindow(window: AutomatedTestsWindow) { | ||||
| function initializeAutomatedTests(window: AutomatedTestsWindow) { | ||||
|     if (!CoreAppProvider.isAutomated()) { | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     window.behat = TestingBehatRuntime.instance; | ||||
| 
 | ||||
|     // Force timezone for automated tests. Use the same timezone forced for LMS in tests.
 | ||||
|     moment.tz.setDefault('Australia/Perth'); | ||||
| } | ||||
| 
 | ||||
| @NgModule({ | ||||
|     providers: [ | ||||
|         { provide: APP_INITIALIZER, multi: true, useValue: () => initializeAutomatedTestsWindow(window) }, | ||||
|         { | ||||
|             provide: APP_INITIALIZER, | ||||
|             multi: true, | ||||
|             useValue: () => { | ||||
|                 initializeAutomatedTests(window); | ||||
|             }, | ||||
|         }, | ||||
|     ], | ||||
| }) | ||||
| export class TestingModule {} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user