diff --git a/node_modules/c9/skip-analytics.js b/node_modules/c9/skip-analytics.js new file mode 100644 index 00000000..7362fd63 --- /dev/null +++ b/node_modules/c9/skip-analytics.js @@ -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; +}); \ No newline at end of file diff --git a/node_modules/c9/skip-analytics_test.js b/node_modules/c9/skip-analytics_test.js new file mode 100644 index 00000000..300251b0 --- /dev/null +++ b/node_modules/c9/skip-analytics_test.js @@ -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"); + }); +}); \ No newline at end of file