| 
									
										
										
										
											2017-11-27 13:48:32 -05:00
										 |  |  | import { AppPage } from './app.po'; | 
					
						
							|  |  |  | import { browser, element, by } from 'protractor'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-06 18:12:19 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-27 13:48:32 -05:00
										 |  |  | describe('sw-example App', () => { | 
					
						
							|  |  |  |   let page: AppPage; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   beforeEach(() => { | 
					
						
							|  |  |  |     page = new AppPage(); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('should display welcome message', () => { | 
					
						
							|  |  |  |     page.navigateTo(); | 
					
						
							|  |  |  |     expect(page.getParagraphText()).toEqual('Welcome to Service Workers!'); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('should display the Angular logo', () => { | 
					
						
							| 
									
										
										
										
											2017-12-06 18:12:19 -08:00
										 |  |  |     let logo = element(by.css('img')); | 
					
						
							| 
									
										
										
										
											2017-11-27 13:48:32 -05:00
										 |  |  |     page.navigateTo(); | 
					
						
							|  |  |  |     expect(logo.isPresent()).toBe(true); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-06 18:12:19 -08:00
										 |  |  |   it('should show a header for the list of links', () => { | 
					
						
							| 
									
										
										
										
											2017-11-27 13:48:32 -05:00
										 |  |  |     const listHeader = element(by.css('app-root > h2')); | 
					
						
							|  |  |  |     expect(listHeader.getText()).toEqual('Here are some links to help you start:'); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('should show a list of links', function () { | 
					
						
							| 
									
										
										
										
											2017-12-06 18:12:19 -08:00
										 |  |  |       element.all(by.css('ul > li > h2 > a')).then((items) => { | 
					
						
							| 
									
										
										
										
											2017-11-27 13:48:32 -05:00
										 |  |  |         expect(items.length).toBe(4); | 
					
						
							|  |  |  |         expect(items[0].getText()).toBe('Angular Service Worker Intro'); | 
					
						
							|  |  |  |         expect(items[1].getText()).toBe('Tour of Heroes'); | 
					
						
							|  |  |  |         expect(items[2].getText()).toBe('CLI Documentation'); | 
					
						
							|  |  |  |         expect(items[3].getText()).toBe('Angular blog'); | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2017-12-06 18:12:19 -08:00
										 |  |  |    // Check for a rejected promise as the service worker is not enabled
 | 
					
						
							|  |  |  |    it('SwUpdate.checkForUpdate() should return a rejected promise', () => { | 
					
						
							|  |  |  |     const button = element(by.css('button')); | 
					
						
							|  |  |  |     const rejectMessage = element(by.css('p')); | 
					
						
							|  |  |  |     button.click(); | 
					
						
							|  |  |  |     expect(rejectMessage.getText()).toContain('rejected: '); | 
					
						
							|  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2017-11-27 13:48:32 -05:00
										 |  |  | }); |