diff options
author | Alexandre Pretto Nunes <anunes@thoughtworks.com> | 2014-10-22 15:14:01 -0200 |
---|---|---|
committer | Alexandre Pretto Nunes <anunes@thoughtworks.com> | 2014-10-22 15:29:09 -0200 |
commit | 1f886478755afb546550a9e82f058138b32820d1 (patch) | |
tree | edb1ef79b11b903f3696d88e019a0ea09a173b34 /web-ui/test/spec/tags | |
parent | ff34f538a1caca08492f5238005f56fb22008882 (diff) |
Update JS unittests to use a deferred to mock ajax calls
Diffstat (limited to 'web-ui/test/spec/tags')
-rw-r--r-- | web-ui/test/spec/tags/data/tags.spec.js | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/web-ui/test/spec/tags/data/tags.spec.js b/web-ui/test/spec/tags/data/tags.spec.js index e42a7752..adb279ac 100644 --- a/web-ui/test/spec/tags/data/tags.spec.js +++ b/web-ui/test/spec/tags/data/tags.spec.js @@ -8,7 +8,7 @@ describeComponent('tags/data/tags', function () { }); it('asks the server for tags when receiving the tags:want event', function() { - spyOn($, 'ajax').and.returnValue({done: function() {}}); + spyOn($, 'ajax').and.returnValue($.Deferred()); this.component.trigger(Pixelated.events.tags.want); @@ -16,25 +16,30 @@ describeComponent('tags/data/tags', function () { }); it('triggers an event on the initial sender after receiving tags', function() { - var f; - spyOn($, 'ajax').and.returnValue({done: function(d) { f = d; }}); + var deferred = $.Deferred(); + + spyOn($, 'ajax').and.returnValue(deferred); var me = {}; var eventSpy = spyOnEvent(me, Pixelated.events.tags.received); this.component.trigger(Pixelated.events.tags.want, { caller: me}); - f(['foo', 'bar', 'quux/bar']); + deferred.resolve(['foo', 'bar', 'quux/bar']); + expect(eventSpy).toHaveBeenTriggeredOn(me); }); it('triggers an event containing the returned tags', function() { - var f; - spyOn($, 'ajax').and.returnValue({done: function(d) { f = d; }}); + var tags = ['foo', 'bar', 'quux/bar']; + var deferred = $.Deferred(); + + spyOn($, 'ajax').and.returnValue(deferred); var me = {}; var eventSpy = spyOnEvent(me, Pixelated.events.tags.received); this.component.trigger(Pixelated.events.tags.want, { caller: me }); - var tags = ['foo', 'bar', 'quux/bar']; - f(tags); + + deferred.resolve(tags); + tags.push(this.component.all); expect(eventSpy.mostRecentCall.data).toEqual(jasmine.objectContaining({tags: tags})); }); |