aboutsummaryrefslogtreecommitdiff
path: root/test
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 /test
parent2b8a35e21740f75a7db8485ffb1f71008e51c332 (diff)
downloadfaker-bf791db741de2e98d7c082c9fb2b80c9bd6094ba.tar.xz
faker-bf791db741de2e98d7c082c9fb2b80c9bd6094ba.zip
adding test/name.unit.js
Diffstat (limited to 'test')
-rw-r--r--test/mocha.opts5
-rw-r--r--test/name.unit.js66
2 files changed, 71 insertions, 0 deletions
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();
+ });
+ });
+});