From 16af3965c273b65b780c542b9a74bbf2dbff6592 Mon Sep 17 00:00:00 2001 From: Alex Holachek Date: Wed, 30 Dec 2015 08:40:42 -0500 Subject: [PATCH] querying link server on widget initialization instead of just listening to user change event like before --- src/js/widgets/preferences/widget.js | 3 +++ .../js/widgets/preferences_widget.spec.js | 24 ++++++++++++------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/js/widgets/preferences/widget.js b/src/js/widgets/preferences/widget.js index 55dfc0c5d..76bf4aa9c 100644 --- a/src/js/widgets/preferences/widget.js +++ b/src/js/widgets/preferences/widget.js @@ -83,6 +83,9 @@ define([ that.model.set("openURLConfig", config); }); + //and the user data (which contains user's open url selection) + this.model.set(this.getBeeHive().getObject("User").getUserData()); + }, //translates what comes from toc widget (e.g. userPreferences__orcid) to view name diff --git a/test/mocha/js/widgets/preferences_widget.spec.js b/test/mocha/js/widgets/preferences_widget.spec.js index 36e7710f7..3fbaf1730 100644 --- a/test/mocha/js/widgets/preferences_widget.spec.js +++ b/test/mocha/js/widgets/preferences_widget.spec.js @@ -37,7 +37,8 @@ define([ }; - it("should have a model that contains updated myads data and a collection of openurl endpoints", function(){ + + it("should initialize with correct user vals + should listen to user change events", function(){ var p = new PreferencesWidget(); @@ -49,8 +50,10 @@ define([ var fakeUser = { getHardenedInstance : function(){return this}, - getMyADSData : function() { - return fakeMyADS; + getUserData : function() { + return { + link_server : "minnesota_state.edu" + }; }, getOpenURLConfig : function(){ var d = $.Deferred(); @@ -59,7 +62,6 @@ define([ }, USER_INFO_CHANGE: User.prototype.USER_INFO_CHANGE, - getUserData : function() {return {}} }; var fakeOrcid = { @@ -72,8 +74,6 @@ define([ p.activate(minsub.beehive.getHardenedInstance()); - minsub.publish(minsub.APP_STARTED); - expect(p.model.get("openURLConfig")).to.eql([ { "name": "ohio wesleyan", @@ -87,12 +87,18 @@ define([ "name": "wesleyan university", "link": "wesleyan.edu" } - ]); + ]); + expect(p.model.get("link_server")).to.eql("minnesota_state.edu"); + + //send new link server info in change event minsub.publish(minsub.USER_ANNOUNCEMENT, User.prototype.USER_INFO_CHANGE, fakeMyADS); + expect(p.model.get("link_server")).to.eql("wesleyan.edu"); + expect(JSON.stringify(p.model.toJSON())).to.eql('{"openURLConfig":[{"name":"ohio wesleyan","link":"ohio_wesleyan.edu"},{"name":"virginia wesleyan","link":"virginia_wesleyan.edu"},{"name":"wesleyan university","link":"wesleyan.edu"}],"link_server":"wesleyan.edu","anotherVal":"foo"}'); + }); it("should show a view that allows user to set open url link server", function(){ @@ -349,8 +355,8 @@ define([ var fakeUser = { getHardenedInstance : function(){return this}, - getMyADSData : function() { - return fakeMyADS; + getUserData : function() { + return fakeMyADS }, getOpenURLConfig : function() { var d = $.Deferred();