Skip to content

Commit

Permalink
feat(animal): add petName method (#3196)
Browse files Browse the repository at this point in the history
  • Loading branch information
suyashgulati authored Oct 29, 2024
1 parent 081a795 commit c02beea
Show file tree
Hide file tree
Showing 6 changed files with 76 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/definitions/animal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ export type AnimalDefinition = LocaleEntry<{
rodent: string[];
snake: string[];
type: string[];
pet_name: string[];
}>;
2 changes: 2 additions & 0 deletions src/locales/en/animal/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import fish from './fish';
import horse from './horse';
import insect from './insect';
import lion from './lion';
import pet_name from './pet_name';
import rabbit from './rabbit';
import rodent from './rodent';
import snake from './snake';
Expand All @@ -31,6 +32,7 @@ const animal: AnimalDefinition = {
horse,
insect,
lion,
pet_name,
rabbit,
rodent,
snake,
Expand Down
44 changes: 44 additions & 0 deletions src/locales/en/animal/pet_name.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
export default [
'Ace',
'Archie',
'Bailey',
'Bandit',
'Bella',
'Bentley',
'Bruno',
'Buddy',
'Charlie',
'Coco',
'Cookie',
'Cooper',
'Daisy',
'Dixie',
'Finn',
'Ginger',
'Gracie',
'Gus',
'Hank',
'Jack',
'Jax',
'Joey',
'Kobe',
'Leo',
'Lola',
'Louie',
'Lucy',
'Maggie',
'Max',
'Mia',
'Milo',
'Molly',
'Murphey',
'Nala',
'Nova',
'Ollie',
'Oreo',
'Rosie',
'Scout',
'Stella',
'Teddy',
'Tuffy',
];
14 changes: 14 additions & 0 deletions src/modules/animal/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -201,4 +201,18 @@ export class AnimalModule extends ModuleBase {
type(): string {
return this.faker.helpers.arrayElement(this.faker.definitions.animal.type);
}

/**
* Returns a random pet name.
*
* @example
* faker.animal.petName() // 'Coco'
*
* @since 9.2.0
*/
petName(): string {
return this.faker.helpers.arrayElement(
this.faker.definitions.animal.pet_name
);
}
}
6 changes: 6 additions & 0 deletions test/modules/__snapshots__/animal.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ exports[`animal > 42 > insect 1`] = `"Gouty oak gall"`;

exports[`animal > 42 > lion 1`] = `"Cape lion"`;

exports[`animal > 42 > petName 1`] = `"Ginger"`;

exports[`animal > 42 > rabbit 1`] = `"English Spot"`;

exports[`animal > 42 > rodent 1`] = `"Famatina chinchilla rat"`;
Expand Down Expand Up @@ -52,6 +54,8 @@ exports[`animal > 1211 > insect 1`] = `"Western paper wasp"`;

exports[`animal > 1211 > lion 1`] = `"West African Lion"`;

exports[`animal > 1211 > petName 1`] = `"Scout"`;

exports[`animal > 1211 > rabbit 1`] = `"Silver Marten"`;

exports[`animal > 1211 > rodent 1`] = `"Strong tuco-tuco"`;
Expand Down Expand Up @@ -82,6 +86,8 @@ exports[`animal > 1337 > insect 1`] = `"Erythrina gall wasp"`;

exports[`animal > 1337 > lion 1`] = `"Barbary Lion"`;

exports[`animal > 1337 > petName 1`] = `"Cooper"`;

exports[`animal > 1337 > rabbit 1`] = `"Cinnamon"`;

exports[`animal > 1337 > rodent 1`] = `"Crested porcupine"`;
Expand Down
10 changes: 9 additions & 1 deletion test/modules/animal.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ describe('animal', () => {
'rabbit',
'rodent',
'snake',
'type'
'type',
'petName'
);
});

Expand Down Expand Up @@ -133,6 +134,13 @@ describe('animal', () => {
expect(faker.definitions.animal.type).toContain(actual);
});
});

describe('petName()', () => {
it('should return random value from pet name array', () => {
const actual = faker.animal.petName();
expect(faker.definitions.animal.pet_name).toContain(actual);
});
});
}
);
});

0 comments on commit c02beea

Please sign in to comment.