Skip to content

Commit 3ce0988

Browse files
committed
chore(revert): name.ts changes
1 parent 58e8168 commit 3ce0988

File tree

2 files changed

+30
-53
lines changed

2 files changed

+30
-53
lines changed

src/name.ts

Lines changed: 10 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,14 @@ export class Name {
3535
// some locale datasets ( like ru ) have first_name split by gender. since the name.first_name field does not exist in these datasets,
3636
// we must randomly pick a name from either gender array so faker.name.firstName will return the correct locale data ( and not fallback )
3737

38-
gender = Name.determineGenderByStringParam(gender);
38+
if (typeof gender === 'string') {
39+
if (gender.toLowerCase() === 'male') {
40+
gender = 0;
41+
} else if (gender.toLowerCase() === 'female') {
42+
gender = 1;
43+
}
44+
}
45+
3946
if (typeof gender !== 'number') {
4047
if (typeof this.faker.definitions.name.first_name === 'undefined') {
4148
gender = this.faker.datatype.number(1);
@@ -119,16 +126,8 @@ export class Name {
119126
typeof this.faker.definitions.name.male_middle_name !== 'undefined' &&
120127
typeof this.faker.definitions.name.female_middle_name !== 'undefined'
121128
) {
122-
gender = Name.determineGenderByStringParam(gender);
123129
if (typeof gender !== 'number') {
124-
if (typeof this.faker.definitions.name.middle_name === 'undefined') {
125-
gender = this.faker.datatype.number(1);
126-
} else {
127-
// Fall back to unisex middle names if they exist and gender wasn't specified
128-
return this.faker.random.arrayElement(
129-
this.faker.definitions.name.middle_name
130-
);
131-
}
130+
gender = this.faker.datatype.number(1);
132131
}
133132
if (gender === 0) {
134133
return this.faker.random.arrayElement(
@@ -140,6 +139,7 @@ export class Name {
140139
);
141140
}
142141
}
142+
143143
return this.faker.random.arrayElement(
144144
this.faker.definitions.name.middle_name
145145
);
@@ -332,26 +332,4 @@ export class Name {
332332
this.faker.definitions.name.title.job
333333
);
334334
}
335-
336-
/**
337-
*
338-
* Determines gender in 0 or 1
339-
*
340-
* @param gender The optional gender to use.
341-
*
342-
* @returns 0 or 1 given a string param of 'male' or 'female' else returns default value
343-
*
344-
* @example Name.determineGenderByStringParam('male') // 0
345-
*
346-
*/
347-
private static determineGenderByStringParam(gender: string | number) {
348-
if (typeof gender === 'string') {
349-
if (gender.toLowerCase() === 'male') {
350-
gender = 0;
351-
} else if (gender.toLowerCase() === 'female') {
352-
gender = 1;
353-
}
354-
}
355-
return gender;
356-
}
357335
}

test/name.spec.ts

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const seededRuns = [
1212
noArgs: 'Hintz',
1313
},
1414
middleName: {
15-
noArgs: 'Greer',
15+
noArgs: 'Owen',
1616
},
1717
findName: {
1818
noArgs: 'Lorene Deckow',
@@ -53,7 +53,7 @@ const seededRuns = [
5353
noArgs: 'Gibson',
5454
},
5555
middleName: {
56-
noArgs: 'Dakota',
56+
noArgs: 'Kenji',
5757
},
5858
findName: {
5959
noArgs: 'Marilyn Effertz',
@@ -94,7 +94,7 @@ const seededRuns = [
9494
noArgs: 'Ward',
9595
},
9696
middleName: {
97-
noArgs: 'Sawyer',
97+
noArgs: 'Isla',
9898
},
9999
findName: {
100100
noArgs: 'Darrel Sanford',
@@ -188,16 +188,12 @@ describe('name', () => {
188188
expect(faker.definitions.name.female_first_name).toContain(name);
189189
});
190190

191-
// TODO @Shinigami92 2022-01-30: There is a bug: https://github.com/faker-js/faker/issues/373
192-
it.todo(
193-
'should return a gender-specific first name when passed a string',
194-
() => {
195-
let name = faker.name.firstName('male');
196-
expect(faker.definitions.name.male_first_name).toContain(name);
197-
name = faker.name.firstName('female');
198-
expect(faker.definitions.name.female_first_name).toContain(name);
199-
}
200-
);
191+
it('should return a gender-specific first name when passed a string', () => {
192+
let name = faker.name.firstName('male');
193+
expect(faker.definitions.name.male_first_name).toContain(name);
194+
name = faker.name.firstName('female');
195+
expect(faker.definitions.name.female_first_name).toContain(name);
196+
});
201197
});
202198

203199
describe('lastName()', () => {
@@ -247,7 +243,7 @@ describe('name', () => {
247243
expect(middle_name.length).greaterThan(0);
248244
});
249245

250-
it('should return a middle name when passed en locale', () => {
246+
it.todo('should return a middle name when passed en locale', () => {
251247
faker.locale = 'en';
252248

253249
let name = faker.name.middleName();
@@ -267,14 +263,17 @@ describe('name', () => {
267263
expect(faker.definitions.name.female_middle_name).toContain(name);
268264
});
269265

270-
it('should return a gender-specific middle name when passed a string', () => {
271-
faker.locale = 'uk';
266+
it.todo(
267+
'should return a gender-specific middle name when passed a string',
268+
() => {
269+
faker.locale = 'uk';
272270

273-
let name = faker.name.middleName('male');
274-
expect(faker.definitions.name.male_middle_name).toContain(name);
275-
name = faker.name.middleName('female');
276-
expect(faker.definitions.name.female_middle_name).toContain(name);
277-
});
271+
let name = faker.name.middleName('male');
272+
expect(faker.definitions.name.male_middle_name).toContain(name);
273+
name = faker.name.middleName('female');
274+
expect(faker.definitions.name.female_middle_name).toContain(name);
275+
}
276+
);
278277
});
279278

280279
describe('findName()', () => {

0 commit comments

Comments
 (0)