diff options
| author | Bryan Donovan <[email protected]> | 2013-01-05 18:52:40 -0800 |
|---|---|---|
| committer | Bryan Donovan <[email protected]> | 2013-01-05 18:52:40 -0800 |
| commit | bf791db741de2e98d7c082c9fb2b80c9bd6094ba (patch) | |
| tree | abe80413e42cfb6ea00f746bd51489fb13087ab1 | |
| parent | 2b8a35e21740f75a7db8485ffb1f71008e51c332 (diff) | |
| download | faker-bf791db741de2e98d7c082c9fb2b80c9bd6094ba.tar.xz faker-bf791db741de2e98d7c082c9fb2b80c9bd6094ba.zip | |
adding test/name.unit.js
| -rw-r--r-- | lib/helpers.js | 11 | ||||
| -rw-r--r-- | lib/name.js | 15 | ||||
| -rw-r--r-- | package.json | 10 | ||||
| -rw-r--r-- | test/mocha.opts | 5 | ||||
| -rw-r--r-- | test/name.unit.js | 66 |
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(); + }); + }); +}); |
