| 
									
										
										
										
											2019-04-25 18:06:40 +03:00
										 |  |  | // @ts-check
 | 
					
						
							| 
									
										
										
										
											2018-02-28 01:24:07 +02:00
										 |  |  | // Protractor configuration file, see link for more information
 | 
					
						
							|  |  |  | // https://github.com/angular/protractor/blob/master/lib/config.ts
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-25 18:06:40 +03:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @type { import("protractor").Config } | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2018-02-28 01:24:07 +02:00
										 |  |  | exports.config = { | 
					
						
							|  |  |  |   allScriptsTimeout: 11000, | 
					
						
							| 
									
										
										
										
											2018-10-22 15:33:40 +03:00
										 |  |  |   suites: { | 
					
						
							|  |  |  |     full: './*.e2e-spec.ts', | 
					
						
							|  |  |  |     smoke: './smoke-tests.e2e-spec.ts', | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   suite: 'full', | 
					
						
							| 
									
										
										
										
											2018-02-28 01:24:07 +02:00
										 |  |  |   capabilities: { | 
					
						
							|  |  |  |     browserName: 'chrome', | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   directConnect: true, | 
					
						
							|  |  |  |   framework: 'jasmine', | 
					
						
							|  |  |  |   jasmineNodeOpts: { | 
					
						
							|  |  |  |     showColors: true, | 
					
						
							|  |  |  |     defaultTimeoutInterval: 30000, | 
					
						
							|  |  |  |     print: function() {} | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   params: { | 
					
						
							|  |  |  |     sitemapUrls: [], | 
					
						
							|  |  |  |     legacyUrls: [], | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   beforeLaunch() { | 
					
						
							| 
									
										
										
										
											2019-04-25 18:06:40 +03:00
										 |  |  |     const {join} = require('path'); | 
					
						
							| 
									
										
										
										
											2018-02-28 01:24:07 +02:00
										 |  |  |     const {register} = require('ts-node'); | 
					
						
							| 
									
										
										
										
											2019-04-25 18:06:40 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |     register({project: join(__dirname, './tsconfig.json')}); | 
					
						
							| 
									
										
										
										
											2018-02-28 01:24:07 +02:00
										 |  |  |   }, | 
					
						
							|  |  |  |   onPrepare() { | 
					
						
							|  |  |  |     const {SpecReporter} = require('jasmine-spec-reporter'); | 
					
						
							|  |  |  |     const {browser} = require('protractor'); | 
					
						
							|  |  |  |     const {loadLegacyUrls, loadRemoteSitemapUrls} = require('../shared/helpers'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return Promise.all([ | 
					
						
							|  |  |  |       browser.getProcessedConfig(), | 
					
						
							|  |  |  |       loadRemoteSitemapUrls(browser.baseUrl), | 
					
						
							|  |  |  |       loadLegacyUrls(), | 
					
						
							|  |  |  |     ]).then(([config, sitemapUrls, legacyUrls]) => { | 
					
						
							|  |  |  |       if (sitemapUrls.length <= 100) { | 
					
						
							|  |  |  |         throw new Error(`Too few sitemap URLs. (Expected: >100 | Found: ${sitemapUrls.length})`); | 
					
						
							|  |  |  |       } else if (legacyUrls.length <= 100) { | 
					
						
							|  |  |  |         throw new Error(`Too few legacy URLs. (Expected: >100 | Found: ${legacyUrls.length})`); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       Object.assign(config.params, {sitemapUrls, legacyUrls}); | 
					
						
							|  |  |  |       jasmine.getEnv().addReporter(new SpecReporter({spec: {displayStacktrace: true}})); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | }; |