kopia lustrzana https://github.com/c9/core
Merge pull request +10708 from c9/refactor-addtrait
Refactor addtraitpull/223/head
commit
a8599aafe4
|
@ -0,0 +1,22 @@
|
||||||
|
if (define === undefined) {
|
||||||
|
var define = function(fn) {
|
||||||
|
fn(require, exports, module);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
define(function(require, exports, module) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var internalTestNames = ["c9test", "c9 test"];
|
||||||
|
var regex = new RegExp("^(" + internalTestNames.join("|") + ")+");
|
||||||
|
|
||||||
|
function hasInternalTestName(user) {
|
||||||
|
if (!user.name && !user.username) return false;
|
||||||
|
|
||||||
|
var testedName = user.name ? user.name : user.username;
|
||||||
|
|
||||||
|
return regex.test(testedName);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = hasInternalTestName;
|
||||||
|
});
|
|
@ -0,0 +1,44 @@
|
||||||
|
"use strict";
|
||||||
|
"use mocha";
|
||||||
|
|
||||||
|
require("c9/inline-mocha")(module);
|
||||||
|
var assert = require("assert");
|
||||||
|
var faker = require("faker");
|
||||||
|
var hasInternalTestName= require("c9/has-internal-test-name");
|
||||||
|
|
||||||
|
describe("has-internal-test-name", function() {
|
||||||
|
|
||||||
|
it("returns false when undefined name", function() {
|
||||||
|
var name;
|
||||||
|
|
||||||
|
assert.equal(false, hasInternalTestName(name), "should return false when name undefined");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("returns true when name contains c9test", function() {
|
||||||
|
var name = "c9testregnjkdfkfd";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9test");
|
||||||
|
|
||||||
|
name = "c9test01";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9test");
|
||||||
|
|
||||||
|
name = "c9testjhrrj ffjh";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9test");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("returns true when name contains c9 test", function() {
|
||||||
|
var name = "c9 test dkjfdgjhfgdfk";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9 test");
|
||||||
|
|
||||||
|
name = "c9 test07";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9 test");
|
||||||
|
|
||||||
|
name = "c9 testdkjfdgjhfgdfk";
|
||||||
|
assert.equal(true, hasInternalTestName(name), "should return true when name contains c9 test");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("returns false when not internal user test name", function() {
|
||||||
|
var name = faker.name.firstName();
|
||||||
|
|
||||||
|
assert.equal(false, hasInternalTestName(name), "should return false when name is not for internal testing");
|
||||||
|
});
|
||||||
|
});
|
|
@ -8,10 +8,13 @@ define(function(require, exports, module) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var hasInternalDomain = require("c9/has-internal-domain");
|
var hasInternalDomain = require("c9/has-internal-domain");
|
||||||
|
var hasInternalTestName = require("c9/has-internal-test-name");
|
||||||
|
|
||||||
function skipAnalytics(user) {
|
function skipAnalytics(user) {
|
||||||
if (!user) return true;
|
if (!user) return true;
|
||||||
if (user.id === -1) return true;
|
if (user.id === -1) return true;
|
||||||
|
|
||||||
|
if (hasInternalTestName(user)) return true;
|
||||||
if (hasInternalDomain(user.email)) return true;
|
if (hasInternalDomain(user.email)) return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,25 @@ describe("skip-analytics", function() {
|
||||||
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user id is -1");
|
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user id is -1");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
it("returns false when user does not have an internal test name and no email", function() {
|
||||||
|
var user = {
|
||||||
|
id: faker.random.uuid(),
|
||||||
|
name: faker.name.firstName()
|
||||||
|
};
|
||||||
|
|
||||||
|
assert.equal(false, skipAnalytics(user), "skipAnalytics should return false when user does not have an internal test name and no email");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("returns true when user has an internal test name and no email", function() {
|
||||||
|
var user = {
|
||||||
|
id: faker.random.uuid(),
|
||||||
|
name: "c9test07"
|
||||||
|
};
|
||||||
|
|
||||||
|
assert.equal(true, skipAnalytics(user), "skipAnalytics should return true when user has an internal test name and no email");
|
||||||
|
});
|
||||||
|
|
||||||
it("returns false when user has no email", function() {
|
it("returns false when user has no email", function() {
|
||||||
var user = {
|
var user = {
|
||||||
id: faker.random.uuid()
|
id: faker.random.uuid()
|
||||||
|
|
Ładowanie…
Reference in New Issue