summaryrefslogtreecommitdiff
path: root/web-ui/test/spec/tags
diff options
context:
space:
mode:
authorAlexandre Pretto Nunes <anunes@thoughtworks.com>2014-10-22 15:14:01 -0200
committerAlexandre Pretto Nunes <anunes@thoughtworks.com>2014-10-22 15:29:09 -0200
commit1f886478755afb546550a9e82f058138b32820d1 (patch)
treeedb1ef79b11b903f3696d88e019a0ea09a173b34 /web-ui/test/spec/tags
parentff34f538a1caca08492f5238005f56fb22008882 (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.js21
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}));
});