Bug 1107655 - Show the ToS/Privacy display in the Loop panel whenever Get Started is displayed. r=nperriault

This commit is contained in:
Romain Gauthier 2014-12-15 22:28:18 +00:00
Родитель 8e2e477789
Коммит 87cd4c7b30
3 изменённых файлов: 41 добавлений и 7 удалений

Просмотреть файл

@ -194,11 +194,16 @@ loop.panel = (function(_, mozL10n) {
var ToSView = React.createClass({displayName: 'ToSView',
getInitialState: function() {
return {seenToS: navigator.mozLoop.getLoopPref("seenToS")};
var getPref = navigator.mozLoop.getLoopPref.bind(navigator.mozLoop);
return {
seenToS: getPref("seenToS"),
gettingStartedSeen: getPref("gettingStarted.seen")
};
},
render: function() {
if (this.state.seenToS == "unseen") {
if (!this.state.gettingStartedSeen || this.state.seenToS == "unseen") {
var locale = mozL10n.getLanguage();
var terms_of_use_url = navigator.mozLoop.getLoopPref('legal.ToS_url');
var privacy_notice_url = navigator.mozLoop.getLoopPref('legal.privacy_url');

Просмотреть файл

@ -194,11 +194,16 @@ loop.panel = (function(_, mozL10n) {
var ToSView = React.createClass({
getInitialState: function() {
return {seenToS: navigator.mozLoop.getLoopPref("seenToS")};
var getPref = navigator.mozLoop.getLoopPref.bind(navigator.mozLoop);
return {
seenToS: getPref("seenToS"),
gettingStartedSeen: getPref("gettingStarted.seen")
};
},
render: function() {
if (this.state.seenToS == "unseen") {
if (!this.state.gettingStartedSeen || this.state.seenToS == "unseen") {
var locale = mozL10n.getLanguage();
var terms_of_use_url = navigator.mozLoop.getLoopPref('legal.ToS_url');
var privacy_notice_url = navigator.mozLoop.getLoopPref('legal.privacy_url');

Просмотреть файл

@ -979,6 +979,13 @@ describe("loop.panel", function() {
describe('loop.panel.ToSView', function() {
it("should render when the value of loop.seenToS is not set", function() {
navigator.mozLoop.getLoopPref = function(key) {
return {
"gettingStarted.seen": true,
"seenToS": "unseen"
}[key];
};
var view = TestUtils.renderIntoDocument(loop.panel.ToSView());
TestUtils.findRenderedDOMComponentWithClass(view, "terms-service");
@ -986,15 +993,32 @@ describe("loop.panel", function() {
it("should not render when the value of loop.seenToS is set to 'seen'",
function(done) {
navigator.mozLoop.getLoopPref = function() {
return "seen";
navigator.mozLoop.getLoopPref = function(key) {
return {
"gettingStarted.seen": true,
"seenToS": "seen"
}[key];
};
try {
TestUtils.findRenderedDOMComponentWithClass(view, "tos");
TestUtils.findRenderedDOMComponentWithClass(view, "terms-service");
} catch (err) {
done();
}
});
it("should render when the value of loop.gettingStarted.seen is false",
function() {
navigator.mozLoop.getLoopPref = function(key) {
return {
"gettingStarted.seen": false,
"seenToS": "seen"
}[key];
};
var view = TestUtils.renderIntoDocument(loop.panel.ToSView());
TestUtils.findRenderedDOMComponentWithClass(view, "terms-service");
});
});
});