From 6df57ef709f0a19e467a5a88bc854f4e5f8e00f7 Mon Sep 17 00:00:00 2001 From: Jefferson Stachelski Date: Thu, 3 Dec 2015 20:56:47 -0200 Subject: Issue #411 - Fixed the tests [Gil/Jeff] --- .../spec/user_settings/data/user_settings.spec.js | 28 ++++++++++++++++++++++ .../user_settings/ui/user_settings_box.spec.js | 24 +++++++++++++++++++ .../user_settings/ui/user_settings_icon.spec.js | 13 ++++++++++ 3 files changed, 65 insertions(+) create mode 100644 web-ui/test/spec/user_settings/data/user_settings.spec.js create mode 100644 web-ui/test/spec/user_settings/ui/user_settings_box.spec.js create mode 100644 web-ui/test/spec/user_settings/ui/user_settings_icon.spec.js (limited to 'web-ui/test/spec/user_settings') diff --git a/web-ui/test/spec/user_settings/data/user_settings.spec.js b/web-ui/test/spec/user_settings/data/user_settings.spec.js new file mode 100644 index 00000000..0fff7fae --- /dev/null +++ b/web-ui/test/spec/user_settings/data/user_settings.spec.js @@ -0,0 +1,28 @@ +describeComponent('user_settings/data/user_settings', function () { + 'use strict'; + + beforeEach(function () { + this.setupComponent(); + }); + + it('gets user info from the server', function() { + var data = {account_email: 'user@pixelated.org'}; + var deferred = $.Deferred(); + + spyOn($, 'ajax').and.returnValue(deferred); + this.component.getUserSettings(); + deferred.resolve(); + + expect($.ajax.calls.mostRecent().args[0]).toEqual('/user-settings'); + expect($.ajax.calls.mostRecent().args[1].type).toEqual('GET'); + }); + + it('send user info when event userSettings.getInfo is trigged', function() { + var data = {account_email: 'user@pixelated.org'}; + var eventSpy = spyOnEvent(document, Pixelated.events.userSettings.here); + + this.component.trigger(document, Pixelated.events.userSettings.getInfo); + + expect(eventSpy).toHaveBeenTriggeredOn(document); + }); +}); diff --git a/web-ui/test/spec/user_settings/ui/user_settings_box.spec.js b/web-ui/test/spec/user_settings/ui/user_settings_box.spec.js new file mode 100644 index 00000000..d5919ca7 --- /dev/null +++ b/web-ui/test/spec/user_settings/ui/user_settings_box.spec.js @@ -0,0 +1,24 @@ +describeComponent('user_settings/ui/user_settings_box', function () { + 'use strict'; + + beforeEach(function () { + Pixelated.mockBloodhound(); + this.setupComponent(); + this.component.render(null, {}); + }); + + it('is extra high when the logout button is present', function() { + var features = require('features'); + spyOn(features, 'isLogoutEnabled').and.returnValue(true); + + expect(this.$node.hasClass('extra-bottom-space')).toBe(true); + }); + + it('destroy it self when the close button is clicked', function () { + var destroyEvent = spyOnEvent(document, Pixelated.events.userSettings.destroyPopup); + + this.$node.find('.fa-close').click(); + + expect(destroyEvent).toHaveBeenTriggeredOn(document); + }); +}); diff --git a/web-ui/test/spec/user_settings/ui/user_settings_icon.spec.js b/web-ui/test/spec/user_settings/ui/user_settings_icon.spec.js new file mode 100644 index 00000000..b06cf033 --- /dev/null +++ b/web-ui/test/spec/user_settings/ui/user_settings_icon.spec.js @@ -0,0 +1,13 @@ +describeComponent('user_settings/ui/user_settings_icon', function () { + 'use strict'; + + beforeEach(function () { + this.setupComponent(); + }); + + it('toggles the user settings box when clicked', function () { + var toggleEvent = spyOnEvent(document, Pixelated.events.ui.userSettingsBox.toggle); + this.$node.click(); + expect(toggleEvent).toHaveBeenTriggeredOn(document); + }); +}); -- cgit v1.2.3