Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Kenya to supported countries #2871

Merged
merged 8 commits into from
Feb 5, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
281 changes: 281 additions & 0 deletions lib/locales/en-KE.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,281 @@
en-KE:
faker:
internet:
domain_suffix:
- ke
- com
- co.ke
- org.ke
- or.ke
- net
- go.ke
- biz
- ac.ke
- info.ke
address:
default_country:
- Republic of Kenya
- KE
default_country_code:
- KE
counties:
- Kiambu
- Siaya
- Bungoma
- Kericho
- Kilifi
- Kisumu
- Machakos
- Nakuru
- Kisii
- Busia
- Homa Bay
- Kajiado
- Kakamega
- Laikipia
- Migori
- Taita-Taveta
- Embu
- Kitui
- Meru
- Murang'a
- Nyamira
- Turkana
- Trans-Nzoia
- Uasin Gishu
- Vihiga
- Baringo
- Bomet
- Elgeyo-Marakwet
- Garissa
- Isiolo
- Kirinyaga
- Kwale
- Mandera
- Marsabit
- Mombasa
- Nairobi
- Nandi
- Narok
- Nyandarua
- Nyeri
- Samburu
- Tharaka-Nithi
- Wajir
- West Pokot
county:
- "#{counties}"
cities:
- Bungoma
- Busia
- El Wak
- Eldoret
- Emali
- Embu
- Gilgil
- Homa Bay
- Isiolo
- Juja
- Kakamega
- Karuri
- Kenol
- Kericho
- Kiambu
- Kikuyu
- Kilifi
- Kimilili
- Kiserian
- Kisii
- Kisumu
- Kitengela
- Limuru
- Lodwar
- Machakos
- Malindi
- Mandera
- Mavoko
- Meru
- Migori
- Mombasa
- Moyale
- Mtwapa
- Muranga
- Nairobi
- Naivasha
- Nakuru
- Nanyuki
- Narok
- Ngong
- Nyeri
- Ruiru
- Thika
- Ukunda
- Voi
- Wajir
- Wanguru
- Webuye
city:
- "#{cities}"
company:
company_names:
- ABSA Kenya
- ARM Cement
- Africa Development Bank (AfDB)
- B.O.C Kenya
- Bamburi Cement
- Britam Holdings
- British American Tobacco Kenya
- CIC Insurance Group
- Car & General (K)
- Carbacid Investments
- Centum Investment
- Crown Paints Kenya
- Deacons (East Africa)
- Diamond Trust Bank Kenya
- E.A Cables
- E.A Portland Cement
- Eaagads
- East African Breweries
- Equity Group Holdings
- Eveready East Africa
- Express Kenya
- Flame Tree Group Holdings
- HF Group
- Home Afrika
- Homeboyz Entertainment
- I & M Holdings
- ILAM Fahari I-REIT
- Jubilee Holdings
- KCB Group
- Kakuzi
- Kapchorua Tea Kenya
- KenGen
- Kenya Airways
- Kenya Orchards
- Kenya Power & Lighting
- Kenya Re-Insurance Corporation
- Kurwitu Ventures
- Liberty Kenya Holdings
- Limuru Tea
- Longhorn Publishers
- Mumias Sugar
- NCBA Group
- Nairobi Business Ventures
- Nairobi Securities Exchange
- Nation Media Group
- Olympia Capital Holdings
- Safaricom
- Sameer Africa
- Sanlam Kenya
- Sasini
- Stanbic Holdings
- Standard Chartered Bank Kenya
- Standard Group
- TPS Eastern Africa (Serena)
- The Co-operative Bank of Kenya
- Total Kenya
- Trans-Century
- Uchumi Supermarket
- Umeme
- Unga Group
- WPP Scangroup
- Williamson Tea Kenya
suffix:
- Co.
- Ltd
- Plc
- Trust
name:
- "#{company_names}"
phone_number:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, we might want to break it down by country_code, area code, etc. Here's an example: https://github.com/faker-ruby/faker/blob/main/lib/locales/en/phone_number.yml

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stefannibrasil Made the changes and updated the tests too. Please let me know if there's anything else needed from me :)

formats:
- "+254 10# ### ###"
- "+254 11# ######"
- "+254 701 ######"
- "+254 702 ######"
- "+254 703 ######"
- "+254 704 ######"
- "+254 705 ######"
- "+254 706 ######"
- "+254 707 ######"
- "+254 708 ######"
- "+254 709 ######"
- "+254 710 ######"
- "+254 711 ######"
- "+254 712 ######"
- "+254 713 ######"
- "+254 714 ######"
- "+254 715 ######"
- "+254 716 ######"
- "+254 717 ######"
- "+254 718 ######"
- "+254 719 ######"
- "+254 720 ######"
- "+254 721 ######"
- "+254 722 ######"
- "+254 723 ######"
- "+254 724 ######"
- "+254 725 ######"
- "+254 726 ######"
- "+254 727 ######"
- "+254 728 ######"
- "+254 729 ######"
- "+254 730 ######"
- "+254 731 ######"
- "+254 732 ######"
- "+254 733 ######"
- "+254 734 ######"
- "+254 735 ######"
- "+254 736 ######"
- "+254 737 ######"
- "+254 738 ######"
- "+254 739 ######"
- "+254 740 ######"
- "+254 741 ######"
- "+254 742 ######"
- "+254 743 ######"
- "+254 744 ######"
- "+254 745 ######"
- "+254 746 ######"
- "+254 747 ######"
- "+254 748 ######"
- "+254 750 ######"
- "+254 751 ######"
- "+254 752 ######"
- "+254 753 ######"
- "+254 754 ######"
- "+254 755 ######"
- "+254 756 ######"
- "+254 757 ######"
- "+254 758 ######"
- "+254 759 ######"
- "+254 760 ######"
- "+254 761 ######"
- "+254 762 ######"
- "+254 763 ######"
- "+254 764 ######"
- "+254 765 ######"
- "+254 766 ######"
- "+254 767 ######"
- "+254 768 ######"
- "+254 769 ######"
- "+254 770 ######"
- "+254 771 ######"
- "+254 772 ######"
- "+254 773 ######"
- "+254 774 ######"
- "+254 775 ######"
- "+254 776 ######"
- "+254 777 ######"
- "+254 778 ######"
- "+254 779 ######"
- "+254 790 ######"
- "+254 791 ######"
- "+254 792 ######"
- "+254 793 ######"
- "+254 794 ######"
- "+254 795 ######"
- "+254 796 ######"
- "+254 797 ######"
- "+254 798 ######"
- "+254 799 ######"
36 changes: 36 additions & 0 deletions test/test_en_ke_locale.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# frozen_string_literal: true

require_relative 'test_helper'

class TestEnKeLocale < Test::Unit::TestCase
def setup
Faker::Config.locale = 'en-KE'
end

def teardown
Faker::Config.locale = nil
end

def test_en_ke_address_methods
assert Faker::Address.city.is_a? String
assert Faker::Address.county.is_a? String
assert Faker::Address.default_country.is_a? String
assert Faker::Address.default_country_code.is_a? String
end

def test_en_ke_company_methods
assert Faker::Company.name.is_a? String
assert Faker::Company.suffix.is_a? String
assert Faker::Company.company_names.is_a? String
end

def test_en_ke_internet_methods
assert Faker::Internet.domain_suffix.is_a? String
end

def test_en_ke_phonenumber_starts_with_254
phone_number = Faker::PhoneNumber.phone_number

assert_equal '+254', phone_number[0..3]
end
end