aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Donovan <[email protected]>2013-01-05 18:52:40 -0800
committerBryan Donovan <[email protected]>2013-01-05 18:52:40 -0800
commitbf791db741de2e98d7c082c9fb2b80c9bd6094ba (patch)
treeabe80413e42cfb6ea00f746bd51489fb13087ab1
parent2b8a35e21740f75a7db8485ffb1f71008e51c332 (diff)
downloadfaker-bf791db741de2e98d7c082c9fb2b80c9bd6094ba.tar.xz
faker-bf791db741de2e98d7c082c9fb2b80c9bd6094ba.zip
adding test/name.unit.js
-rw-r--r--lib/helpers.js11
-rw-r--r--lib/name.js15
-rw-r--r--package.json10
-rw-r--r--test/mocha.opts5
-rw-r--r--test/name.unit.js66
5 files changed, 89 insertions, 18 deletions
diff --git a/lib/helpers.js b/lib/helpers.js
index 15374a73..27824a16 100644
--- a/lib/helpers.js
+++ b/lib/helpers.js
@@ -39,11 +39,6 @@ exports.shuffle = function (o) {
return o;
};
-var x = ['a', 'b', 'c'];
-var y = exports.shuffle(x);
-console.log(y);
-
-
exports.generateDataSet = function (size) {
return undefined;
};
@@ -68,7 +63,7 @@ exports.createCard = function () {
"company": {
"name": Faker.Company.companyName(),
"catchPhrase": Faker.Company.catchPhrase(),
- "bs": Faker.Company.bs(),
+ "bs": Faker.Company.bs()
},
"posts": [
{
@@ -110,8 +105,8 @@ exports.userCard = function () {
"company": {
"name": Faker.Company.companyName(),
"catchPhrase": Faker.Company.catchPhrase(),
- "bs": Faker.Company.bs(),
- },
+ "bs": Faker.Company.bs()
+ }
};
};
diff --git a/lib/name.js b/lib/name.js
index c2d725d8..7321064d 100644
--- a/lib/name.js
+++ b/lib/name.js
@@ -1,6 +1,13 @@
var Helpers = require('./helpers');
var definitions = require('./definitions');
+exports.firstName = function () {
+ return Helpers.randomize(definitions.first_name());
+};
+
+exports.lastName = function () {
+ return Helpers.randomize(definitions.last_name());
+};
exports.findName = function () {
var r = Helpers.randomNumber(8);
switch (r) {
@@ -12,11 +19,3 @@ exports.findName = function () {
return Helpers.randomize(definitions.first_name()) + " " + Helpers.randomize(definitions.last_name());
};
-
-exports.firstName = function () {
- return Helpers.randomize(definitions.first_name());
-};
-
-exports.lastName = function () {
- return Helpers.randomize(definitions.last_name());
-};
diff --git a/package.json b/package.json
index 1b5b6883..5b213018 100644
--- a/package.json
+++ b/package.json
@@ -10,5 +10,11 @@
"engine": [
"node >=0.1.90"
],
- "main": "Faker"
-} \ No newline at end of file
+ "main": "Faker",
+ "devDependencies": {
+ "jshint": "0.9.0",
+ "istanbul": "0.1.25",
+ "mocha": "1.7.4",
+ "sinon": "1.4.2"
+ }
+}
diff --git a/test/mocha.opts b/test/mocha.opts
new file mode 100644
index 00000000..2fc3747d
--- /dev/null
+++ b/test/mocha.opts
@@ -0,0 +1,5 @@
+--reporter spec
+--ui bdd
+--globals state,newBlocks,params,type,__coverage__
+--timeout 6500
+--slow 200
diff --git a/test/name.unit.js b/test/name.unit.js
new file mode 100644
index 00000000..a090ad7e
--- /dev/null
+++ b/test/name.unit.js
@@ -0,0 +1,66 @@
+var assert = require('assert');
+var sinon = require('sinon');
+var Faker = require('../index');
+
+describe("name.js", function() {
+ describe("firstName()", function() {
+ it("returns a random name from definitions", function(done) {
+ sinon.stub(Faker.definitions, 'first_name').returns(['foo']);
+ sinon.spy(Faker.Helpers, 'randomize');
+
+ var first_name = Faker.Name.firstName();
+
+ assert.ok(Faker.Helpers.randomize.calledWith(['foo']));
+ assert.equal(first_name, 'foo');
+
+ Faker.definitions.first_name.restore();
+ Faker.Helpers.randomize.restore();
+
+ done();
+ });
+ });
+
+ describe("lastName()", function() {
+ it("returns a random name from definitions", function(done) {
+ sinon.stub(Faker.definitions, 'last_name').returns(['foo']);
+ sinon.spy(Faker.Helpers, 'randomize');
+
+ var last_name = Faker.Name.lastName();
+
+ assert.ok(Faker.Helpers.randomize.calledWith(['foo']));
+ assert.equal(last_name, 'foo');
+
+ Faker.definitions.last_name.restore();
+ Faker.Helpers.randomize.restore();
+
+ done();
+ });
+ });
+
+ describe("findName()", function() {
+ it("usually returns a first name and last name", function() {
+ sinon.stub(Faker.Helpers, 'randomNumber').returns(5);
+ var name = Faker.Name.findName();
+ assert.ok(name);
+ var parts = name.split(' ');
+ assert.strictEqual(parts.length, 2);
+ Faker.Helpers.randomNumber.restore();
+ });
+
+ it("occasionally returns a first name and last name with a prefix", function() {
+ sinon.stub(Faker.Helpers, 'randomNumber').returns(0);
+ var name = Faker.Name.findName();
+ var parts = name.split(' ');
+ assert.strictEqual(parts.length, 3);
+ Faker.Helpers.randomNumber.restore();
+ });
+
+ it("occasionally returns a first name and last name with a suffix", function() {
+ sinon.stub(Faker.Helpers, 'randomNumber').returns(1);
+ var name = Faker.Name.findName();
+ var parts = name.split(' ');
+ assert.strictEqual(parts.length, 3);
+ Faker.Helpers.randomNumber.restore();
+ });
+ });
+});