~bcsaller/juju-gui/viewmodel-improvements

« back to all changes in this revision

Viewing changes to test/test_service_module.js

  • Committer: Benjamin Saller
  • Author(s): Benjamin Saller
  • Date: 2013-02-04 21:13:12 UTC
  • mfrom: (353.1.8 service-click-actions-begone)
  • Revision ID: bcsaller@gmail.com-20130204211312-ekx959ghuxuao7ll
Remove service click actions

This branch builds on the view model improvements to remove service click
actions, simplify the calling convention of methods that lived there and 
remove their dependencies on the service_click_actions closure.

R=teknico, matthew.scott
CC=
https://codereview.appspot.com/7228070

Show diffs side-by-side

added added

removed removed

Lines of Context:
77
77
});
78
78
 
79
79
describe('service module events', function() {
80
 
  var db, juju, models, serviceModule, view, viewContainer, views, Y;
 
80
  var db, juju, models, serviceModule, topo,
 
81
      view, viewContainer, views, Y;
81
82
  before(function(done) {
82
83
    Y = YUI(GlobalConfig).use(['node',
83
84
      'juju-models',
105
106
    });
106
107
    view.render();
107
108
    view.rendered();
108
 
    serviceModule = view.topo.modules.ServiceModule;
 
109
    topo = view.topo;
 
110
    serviceModule = topo.modules.ServiceModule;
109
111
  });
110
112
 
111
113
  afterEach(function() {
116
118
 
117
119
  it('should toggle the service menu',
118
120
     function() {
119
 
       var box = serviceModule.service_boxes.haproxy;
 
121
       var box = topo.service_boxes.haproxy;
120
122
       var menu = viewContainer.one('#service-menu');
121
123
       assert.isFalse(menu.hasClass('active'));
122
 
       serviceModule.service_click_actions.toggleServiceMenu(
123
 
           box, serviceModule, serviceModule);
 
124
       serviceModule.toggleServiceMenu(box);
124
125
       assert(menu.hasClass('active'));
125
 
       serviceModule.service_click_actions.toggleServiceMenu(
126
 
           box, serviceModule, serviceModule);
 
126
       serviceModule.toggleServiceMenu(box);
127
127
       assert.isFalse(menu.hasClass('active'));
128
128
     });
129
129
 
130
130
  it('should show the service menu',
131
131
     function() {
132
 
       var box = serviceModule.service_boxes.haproxy;
 
132
       var box = topo.service_boxes.haproxy;
133
133
       var menu = viewContainer.one('#service-menu');
134
134
       assert.isFalse(menu.hasClass('active'));
135
 
       serviceModule.service_click_actions.showServiceMenu(
136
 
           box, serviceModule, serviceModule);
 
135
       serviceModule.showServiceMenu(box);
137
136
       assert(menu.hasClass('active'));
138
137
       // Check no-op.
139
 
       serviceModule.service_click_actions.showServiceMenu(
140
 
           box, serviceModule, serviceModule);
 
138
       serviceModule.showServiceMenu(box);
141
139
       assert(menu.hasClass('active'));
142
140
     });
143
141
 
144
142
  it('should hide the service menu',
145
143
     function() {
146
 
       var box = serviceModule.service_boxes.haproxy;
 
144
       var box = topo.service_boxes.haproxy;
147
145
       var menu = viewContainer.one('#service-menu');
148
 
       serviceModule.service_click_actions.showServiceMenu(
149
 
           box, serviceModule, serviceModule);
 
146
       serviceModule.showServiceMenu(box);
150
147
       assert(menu.hasClass('active'));
151
 
       serviceModule.service_click_actions.hideServiceMenu(
152
 
           null, serviceModule);
 
148
       serviceModule.hideServiceMenu();
153
149
       assert.isFalse(menu.hasClass('active'));
154
150
       // Check no-op.
155
 
       serviceModule.service_click_actions.hideServiceMenu(
156
 
           null, serviceModule);
 
151
       serviceModule.hideServiceMenu();
157
152
       assert.isFalse(menu.hasClass('active'));
158
153
     });
159
154
 
161
156
  // Return the service menu.
162
157
  var clickService = function(service) {
163
158
    // Monkeypatch to avoid the click event handler bailing out early.
164
 
    serviceModule.service_boxes.haproxy.containsPoint = function() {
 
159
    topo.service_boxes.haproxy.containsPoint = function() {
165
160
      return true;
166
161
    };
167
162
    // Click the service.
241
236
    var menu = view.get('container').one('#service-menu');
242
237
    view.topo.set('active_service', service);
243
238
 
244
 
    serviceModule.service_click_actions
245
 
                 .toggleServiceMenu(box, serviceModule, serviceModule);
 
239
    serviceModule.toggleServiceMenu(box);
246
240
    menu.one('.destroy-service').hasClass('disabled').should.equal(true);
247
241
  });
248
242
 
256
250
        { id: 'wordpress',
257
251
          containsPoint: function() { return true; }
258
252
        };
259
 
    serviceModule.service_click_actions.fake = function() {
 
253
    serviceModule.fakeAction = function() {
260
254
      called = true;
261
255
    };
262
 
    serviceModule.set('currentServiceClickAction', 'fake');
 
256
    serviceModule.set('currentServiceClickAction', 'fakeAction');
263
257
    topo.ignoreServiceClick = true;
264
258
    serviceModule.serviceClick(d, serviceModule);
265
259
    assert.isFalse(called);