1 | describe("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 | |
---|