Merge pull request +10017 from c9/fix-invalid-analytics-userid

Fix invalid analytics userid
pull/223/head
DanaIv 2015-10-23 14:02:21 +02:00
commit 956aae8f1b
2 zmienionych plików z 73 dodań i 0 usunięć

20
node_modules/c9/skip-analytics.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,20 @@
if (define === undefined) {
var define = function(fn) {
fn(require, exports, module);
};
}
define(function(require, exports, module) {
"use strict";
var hasInternalDomain = require("c9/has-internal-domain");
function skipAnalytics(user) {
if (!user) return true;
if (user.id === -1) return true;
if (hasInternalDomain(user.email)) return true;
return false;
}
module.exports = skipAnalytics;
});

53
node_modules/c9/skip-analytics_test.js wygenerowano vendored 100644
Wyświetl plik

@ -0,0 +1,53 @@
"use strict";
"use mocha";
require("c9/inline-mocha")(module);
var assert = require("assert");
var faker = require("faker");
var skipAnalytics = require("c9/skip-analytics");
describe("skip-analytics", function() {
it("returns true when user undefined", function() {
var user;
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user undefined");
});
it("returns true when user id is -1", function() {
var user = {
id: -1
};
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user id is -1");
});
it("returns false when user has no email", function() {
var user = {
id: faker.random.uuid()
};
assert.equal(false, skipAnalytics(user), "skipAnalytics should return false when user has no email");
});
it("returns true when user has internal email", function() {
var user = {
id: faker.random.uuid(),
email: "test@c9.io"
};
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user has internal email");
user.email = "test@cloud9beta.com";
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user has internal beta email");
});
it("returns false when user is authorized and does not have intermal email", function() {
var user = {
id: faker.random.uuid(),
email: faker.internet.email()
};
assert.equal(false, skipAnalytics(user), "skipAnalytics should return false when user is authorized and does not have internal email");
});
});