Files
ionic-framework/test/e2e/viewState/test.js
Andy Joslin 55089042d8 chore(build): documentation generation
Main changes:

* Use gulpfile now (build was getting way too disorganized with custom
tasks; gulpfiles are much easier to build clean custom tasks with than
Grunt.
* View README#Development for updated commands
* Docs written for ionContent, ionHeaderBar, ionInfiniteScroll.
* Docs are pushed to ajoslin's fork of ionic-site until they reach a
* point where they can be published.

**TODO, In Order of Priority**

1. Finish writing source-documentation for all existing components
2. Add multiple versions of docs (one per release & nightly, latest
 stable release docs being shown by default)
3. Add examples generation
4. Add searchbar to docs
2014-03-07 13:36:36 -07:00

97 lines
3.9 KiB
JavaScript

describe('viewState', function() {
beforeEach(function() {
browser.get('http://localhost:8765/test/e2e/viewState/test.html');
});
function navTitle() {
return element(by.css('h1.title'));
}
function navButtons(dir) {
return dir == 'back' ?
element(by.css('header .back-button')) :
element(by.css('header .'+dir+'-buttons .button'));
}
it('navbar with multiple histories', function() {
expect(navTitle().getText()).toBe('Sign-In');
expect(navButtons('back').getAttribute('class')).toContain('hide');
expect(navButtons('left').getText()).toEqual('Home');
expect(navButtons('left').getAttribute('class')).toContain('ion-home');
expect(navButtons('right').getText()).toEqual('');
expect(navButtons('right').getAttribute('class')).toContain('ion-navicon');
element(by.id('sign-in-button')).click();
expect(navTitle().getText()).toBe('Auto List');
expect(navButtons('back').getAttribute('class')).toContain('hide');
expect(navButtons('left').isPresent()).toBe(false);
expect(navButtons('right').isPresent()).toBe(false);
element(by.css('[href="#/tabs/autos/3"]')).click();
expect(navTitle().getText()).toBe('Auto Details');
expect(navButtons('back').getAttribute('class')).not.toContain('hide');
expect(navButtons('back').getText()).toEqual('Back');
expect(element(by.css('.back-button i')).getAttribute('class')).toContain('ion-arrow-left-c');
expect(navButtons('left').isPresent()).toBe(false);
expect(navButtons('right').isPresent()).toBe(false);
element(by.css('.tabs a:nth-child(2)')).click();
expect(navTitle().getText()).toBe('Add Auto');
expect(navButtons('back').getAttribute('class')).toContain('hide');
expect(navButtons('left').isPresent()).toBe(false);
expect(navButtons('right').isPresent()).toBe(false);
element(by.css('.tabs a:nth-child(1)')).click();
expect(navTitle().getText()).toBe('Auto Details');
expect(navButtons('back').getAttribute('class')).not.toContain('hide');
expect(navButtons('left').isPresent()).toBe(false);
expect(navButtons('right').isPresent()).toBe(false);
navButtons('back').click();
expect(navTitle().getText()).toBe('Auto List');
expect(navButtons('back').getAttribute('class')).toContain('hide');
expect(navButtons('left').isPresent()).toBe(false);
expect(navButtons('right').isPresent()).toBe(false);
element(by.css('[href="#/tabs/autos/3"]')).click();
expect(navTitle().getText()).toBe('Auto Details');
expect(navButtons('back').getAttribute('class')).not.toContain('hide');
expect(navButtons('left').isPresent()).toBe(false);
expect(navButtons('right').isPresent()).toBe(false);
element(by.css('.tabs a:nth-child(1)')).click();
expect(navTitle().getText()).toBe('Auto List');
expect(navButtons('back').getAttribute('class')).toContain('hide');
expect(navButtons('left').isPresent()).toBe(false);
expect(navButtons('right').isPresent()).toBe(false);
element(by.css('[href="#/tabs/autos/3"]')).click();
expect(navTitle().getText()).toBe('Auto Details');
expect(navButtons('back').getAttribute('class')).not.toContain('hide');
expect(navButtons('left').isPresent()).toBe(false);
expect(navButtons('right').isPresent()).toBe(false);
element(by.css('.tabs a:nth-child(4)')).click();
expect(navTitle().getText()).toBe('Sign-In');
expect(navButtons('back').getAttribute('class')).toContain('hide');
expect(navButtons('left').getText()).toEqual('Home');
expect(navButtons('left').getAttribute('class')).toContain('ion-home');
expect(navButtons('right').getText()).toEqual('');
expect(navButtons('right').getAttribute('class')).toContain('ion-navicon');
element(by.id('sign-in-button')).click();
expect(navTitle().getText()).toBe('Auto List');
expect(navButtons('back').getAttribute('class')).toContain('hide');
});
});