Skip to content

Commit

Permalink
feat(name): add sexType method (#1289)
Browse files Browse the repository at this point in the history
  • Loading branch information
Shinigami92 committed Aug 22, 2022
1 parent 23adcc0 commit f684a14
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 2 deletions.
10 changes: 10 additions & 0 deletions src/modules/name/index.ts
Expand Up @@ -284,6 +284,16 @@ export class Name {
return this.faker.helpers.arrayElement(this.faker.definitions.name.sex);
}

/**
* Returns a random sex type.
*
* @example
* faker.name.sexType() // Sex.Female
*/
sexType(): SexType {
return this.faker.helpers.objectValue(Sex);
}

/**
* Returns a random name prefix.
*
Expand Down
6 changes: 6 additions & 0 deletions test/__snapshots__/name.spec.ts.snap
Expand Up @@ -54,6 +54,8 @@ exports[`name > 42 > sex > noArgs 1`] = `"female"`;

exports[`name > 42 > sex > with gender 1`] = `"female"`;

exports[`name > 42 > sexType 1`] = `"female"`;

exports[`name > 42 > suffix > noArgs 1`] = `"III"`;

exports[`name > 42 > suffix > with gender 1`] = `"III"`;
Expand Down Expand Up @@ -112,6 +114,8 @@ exports[`name > 1211 > sex > noArgs 1`] = `"male"`;

exports[`name > 1211 > sex > with gender 1`] = `"male"`;

exports[`name > 1211 > sexType 1`] = `"male"`;

exports[`name > 1211 > suffix > noArgs 1`] = `"DVM"`;

exports[`name > 1211 > suffix > with gender 1`] = `"DVM"`;
Expand Down Expand Up @@ -170,6 +174,8 @@ exports[`name > 1337 > sex > noArgs 1`] = `"female"`;

exports[`name > 1337 > sex > with gender 1`] = `"female"`;

exports[`name > 1337 > sexType 1`] = `"female"`;

exports[`name > 1337 > suffix > noArgs 1`] = `"I"`;

exports[`name > 1337 > suffix > with gender 1`] = `"I"`;
13 changes: 11 additions & 2 deletions test/name.spec.ts
@@ -1,5 +1,5 @@
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
import { faker } from '../src';
import { faker, Sex } from '../src';
import { seededTests } from './support/seededRuns';

const NON_SEEDED_BASED_RUN = 5;
Expand All @@ -11,7 +11,7 @@ describe('name', () => {
});

seededTests(faker, 'name', (t) => {
t.itEach('jobTitle', 'jobDescriptor', 'jobArea', 'jobType');
t.itEach('sexType', 'jobTitle', 'jobDescriptor', 'jobArea', 'jobType');

t.describeEach(
'firstName',
Expand Down Expand Up @@ -365,6 +365,15 @@ describe('name', () => {
});
});

describe('sexType()', () => {
it('should return a sex type', () => {
const sexType = faker.name.sexType();

expect(sexType).toBeTypeOf('string');
expect(Object.values(Sex)).toContain(sexType);
});
});

describe('prefix()', () => {
beforeEach(() => {
faker.locale = 'en';
Expand Down

0 comments on commit f684a14

Please sign in to comment.