| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  | import {verifyNoBrowserErrors, browser} from '@angular/platform-browser/testing_e2e'; | 
					
						
							|  |  |  | import {expect} from '@angular/core/testing'; | 
					
						
							| 
									
										
										
										
											2015-10-05 16:37:31 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-11 17:01:17 -08:00
										 |  |  | function waitForElement(selector: string) { | 
					
						
							| 
									
										
										
										
											2015-10-05 16:37:31 -07:00
										 |  |  |   var EC = (<any>protractor).ExpectedConditions; | 
					
						
							|  |  |  |   // Waits for the element with id 'abc' to be present on the dom.
 | 
					
						
							|  |  |  |   browser.wait(EC.presenceOf($(selector)), 20000); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe('reuse example app', function() { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   afterEach(verifyNoBrowserErrors); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-28 17:50:03 -07:00
										 |  |  |   var URL = '@angular/examples/router/ts/reuse/'; | 
					
						
							| 
									
										
										
										
											2015-10-05 16:37:31 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   it('should build a link which points to the detail page', function() { | 
					
						
							|  |  |  |     browser.get(URL); | 
					
						
							|  |  |  |     waitForElement('my-cmp'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     element(by.css('#naomi-link')).click(); | 
					
						
							|  |  |  |     waitForElement('my-cmp'); | 
					
						
							|  |  |  |     expect(browser.getCurrentUrl()).toMatch(/\/naomi$/); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // type something into input
 | 
					
						
							|  |  |  |     element(by.css('#message')).sendKeys('long time no see!'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // navigate to Brad
 | 
					
						
							|  |  |  |     element(by.css('#brad-link')).click(); | 
					
						
							|  |  |  |     waitForElement('my-cmp'); | 
					
						
							|  |  |  |     expect(browser.getCurrentUrl()).toMatch(/\/brad$/); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // check that typed input is the same
 | 
					
						
							|  |  |  |     expect(element(by.css('#message')).getAttribute('value')).toEqual('long time no see!'); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | }); |