From 7b034d4593c33cc57d39bd5ce890cb0113bd3642 Mon Sep 17 00:00:00 2001 From: Gaby Pancu Date: Mon, 16 Sep 2024 14:01:31 -0400 Subject: [PATCH] add Arabic alternate names for UAE zones --- CHANGELOG.md | 2 +- db/data/regions/AE.yml | 14 ++++++++++++++ db/data/regions/MX.yml | 2 ++ lib/worldwide/region.rb | 1 + test/worldwide/region_test.rb | 33 +++++++++++++++++++++++++++++++++ 5 files changed, 51 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 788fc1a85..2440ae472 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Security in case of vulnerabilities. ## [Unreleased] -- Nil. +- Add alternate Arabic names for UAE zones [#283](https://github.com/Shopify/worldwide/pull/283) --- diff --git a/db/data/regions/AE.yml b/db/data/regions/AE.yml index 53f5650e3..e05699c3c 100644 --- a/db/data/regions/AE.yml +++ b/db/data/regions/AE.yml @@ -37,6 +37,8 @@ example_address: phone: "+971 600 544442" zones: - name: Abu Dhabi + name_alternates: + - "أبو ظبي" code: AZ tax: 0.0 tax_name: VAT @@ -44,6 +46,8 @@ zones: - DU - SH - name: Ajman + name_alternates: + - "عجمان" code: AJ tax: 0.0 tax_name: VAT @@ -53,6 +57,8 @@ zones: - RK - SH - name: Dubai + name_alternates: + - "دبي" code: DU tax: 0.0 tax_name: VAT @@ -62,6 +68,8 @@ zones: - RK - SH - name: Fujairah + name_alternates: + - "الفجيرة" code: FU tax: 0.0 tax_name: VAT @@ -70,6 +78,8 @@ zones: - RK - SH - name: Ras al-Khaimah + name_alternates: + - "رأس الخيمة" code: RK tax: 0.0 tax_name: VAT @@ -80,6 +90,8 @@ zones: - SH - UQ - name: Sharjah + name_alternates: + - "الشارقة" code: SH tax: 0.0 tax_name: VAT @@ -91,6 +103,8 @@ zones: - RK - UQ - name: Umm al-Quwain + name_alternates: + - "أم القيوين" code: UQ tax: 0.0 tax_name: VAT diff --git a/db/data/regions/MX.yml b/db/data/regions/MX.yml index 6e5fc8dc0..fd9df402e 100644 --- a/db/data/regions/MX.yml +++ b/db/data/regions/MX.yml @@ -96,6 +96,8 @@ zones: tax: 0.0 tax_name: State Tax - name: Coahuila + name_alternates: + - Coahuila de Zaragoza code: COAH code_alternates: - COA diff --git a/lib/worldwide/region.rb b/lib/worldwide/region.rb index 2ebe8389f..1560c4b86 100644 --- a/lib/worldwide/region.rb +++ b/lib/worldwide/region.rb @@ -251,6 +251,7 @@ def initialize( @flag = nil @format = {} @format_extended = {} + @name_alternates = [] @group = nil @group_name = nil @languages = [] diff --git a/test/worldwide/region_test.rb b/test/worldwide/region_test.rb index e0924552c..d82630765 100644 --- a/test/worldwide/region_test.rb +++ b/test/worldwide/region_test.rb @@ -17,6 +17,7 @@ class RegionTest < ActiveSupport::TestCase assert_nil region.legacy_name assert_empty(region.format) assert_empty(region.format_extended) + assert_empty(region.name_alternates) assert_nil region.numeric_three assert_equal false, region.province? # short_name currently throws a NoMethodError because it's not yet implemented @@ -452,5 +453,37 @@ class RegionTest < ActiveSupport::TestCase assert_equal expected_value, Worldwide.region(code: region_code).additional_address_fields end end + + test "initializer sets expected default attributes" do + region = Region.new(iso_code: "ZZ") + + assert_empty region.additional_address_fields + assert_empty(region.combined_address_format) + refute region.building_number_required + refute region.building_number_may_be_in_address2 + assert_nil region.currency + assert_nil region.flag + assert_empty(region.format) + assert_empty(region.format_extended) + assert_empty region.name_alternates + assert_nil region.group + assert_nil region.group_name + assert_empty region.languages + assert_empty region.neighbours + assert_nil region.partial_zip_regex + assert_nil region.phone_number_prefix + assert_empty region.tags + assert_nil region.timezone + assert_empty(region.timezones) + assert_nil region.unit_system + assert_nil region.week_start_day + refute region.zip_autofill_enabled + assert_nil region.zip_example + assert_empty region.zip_prefixes + assert_nil region.zip_regex + assert_nil region.example_address + assert_empty region.parents + assert_empty region.zones + end end end