e2e test scenario
[angular-drzb] / test / e2e / scenarios.js
1 'use strict';
2
3 /* http://docs.angularjs.org/guide/dev_guide.e2e-testing */
4
5 describe('my app', function() {
6
7   beforeEach(function() {
8     browser().navigateTo('/lang/en-dev/drzb2013.html?test=mock');
9   });
10
11
12   it('should automatically redirect to /registration/ when location hash/fragment is empty', function() {
13     expect(browser().location().url()).toBe("/registration/");
14   });
15
16
17   describe('registration', function() {
18
19     beforeEach(function() {
20        browser().navigateTo('#/registration');
21     });
22
23
24     it('should render registration when user navigates to /registration', function() {
25       expect(element('[ng-view]').text()).
26         toMatch(/Registration/);
27     });
28
29     it('has warning box', function() {
30       expect(element('p.well').text()).toBeTruthy();
31     });
32
33     it('invalid form', function() {
34       expect(binding('RegistrationForm.$valid')).toEqual('false');
35     });
36
37         it('save draft button', function() {
38                 expect(input('user.registration_type').select('symposium')).toBeDefined;
39                 expect(binding('RegistrationForm.$valid')).toEqual('false');
40                 expect(element('input#save-draft')).toBeDefined;
41         });
42
43         it('symposium has 4 works by default', function() {
44                 input('user.registration_type').select('symposium');
45                 input('user.firstname').enter('name');
46 //              expect(element(':input[ng-model="user.registration_type"]').val()).toBe('symposium');
47                 var r = using('div#symposium-works').repeater('div.work');
48                 expect(r.count()).toBe(4);
49 //              expect(r.row(0)).toEqual({});
50         });
51
52   });
53
54
55   describe('list', function() {
56
57     beforeEach(function() {
58       browser().navigateTo('#/list');
59     });
60
61
62     it('should render list when user navigates to /list', function() {
63       expect(element('[ng-view] div:first').text()).
64         toMatch(/Loading/);
65     });
66
67   });
68 });