Dotclear

source: tests/functional/spec/page_tabs.js @ 2054:bf7bcb7dd64c

Revision 2054:bf7bcb7dd64c, 2.2 KB checked in by Nicolas <nikrou77@…>, 12 years ago (diff)

jquery.pageTabs : choosing a tab didn't work. Fix. Update tests.

Line 
1describe("tabs method (admin/js/pageTabs.js)", function() {
2     it("Must construct tabs using div content", function() {
3          loadFixtures('tabs.html');
4          loadStyleFixtures('default.css');
5
6          expect($('#user-options')).toBeVisible();
7          expect($('#user-profile')).toBeVisible();
8          expect($('#user-favorites')).toBeVisible();
9          expect($('.part-tabs')).not.toExist();
10 
11          $.pageTabs('user-favorites');
12          expect($('#part-user-options')).not.toBeVisible();
13          expect($('#part-user-profile')).not.toBeVisible();
14          expect($('#part-user-favorites')).toBeVisible();
15 
16          expect($('.part-tabs')).toExist();
17          expect($('.part-tabs ul li#part-tabs-user-options')).toExist();
18          expect($('.part-tabs ul li#part-tabs-user-profile')).toExist();
19          expect($('.part-tabs ul li#part-tabs-user-favorites')).toExist();
20          expect($('#part-tabs-user-favorites')).toHaveClass('part-tabs-active');
21     });
22
23     it("Must open first part if pageTabs called without argument", function() {
24          loadFixtures('tabs.html');
25          loadStyleFixtures('default.css');
26
27          $.pageTabs();
28          expect($('#part-user-options')).toBeVisible();
29          expect($('#part-user-profile')).not.toBeVisible();
30          expect($('#part-user-favorites')).not.toBeVisible();       
31          expect($('#part-tabs-user-options')).toHaveClass('part-tabs-active');
32     });
33 
34     it("Must change visible part when clicking another tab", function() {
35          loadFixtures('tabs.html');
36          loadStyleFixtures('default.css');
37         
38          $.pageTabs('user-options');
39          expect($('#part-user-options')).toBeVisible();
40          expect($('#part-user-profile')).not.toBeVisible();
41          expect($('#part-user-favorites')).not.toBeVisible();
42
43          $('.part-tabs ul li a[href="#user-profile"]').click();
44          expect($('#part-tabs-user-profile')).toHaveClass('part-tabs-active');     
45          expect($('#part-user-options')).not.toBeVisible();
46          expect($('#part-user-profile')).toBeVisible();
47     });
48
49     it("Must change opened part if corresponding anchor is in url", function() {
50          loadFixtures('tabs.html');
51          loadStyleFixtures('default.css');
52
53          spyOn(jQuery, 'pageTabsGetHash').andReturn('user-favorites');
54          $.pageTabs();
55          expect($('#part-user-options')).not.toBeVisible();
56          expect($('#part-user-profile')).not.toBeVisible();
57          expect($('#part-user-favorites')).toBeVisible();       
58     });
59});
60
Note: See TracBrowser for help on using the repository browser.

Sites map