kopia lustrzana https://github.com/c9/core
Merge pull request +10017 from c9/fix-invalid-analytics-userid
Fix invalid analytics useridpull/223/head
commit
956aae8f1b
|
@ -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;
|
||||
});
|
|
@ -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");
|
||||
});
|
||||
});
|
Ładowanie…
Reference in New Issue