Skip to content

Commit

Permalink
Merge pull request #1900 from uktrade/LTD-4882-new-registration-bugs
Browse files Browse the repository at this point in the history
Ltd 4882 new registration bugs
  • Loading branch information
Tllew authored Apr 18, 2024
2 parents 2513ae1 + 746903c commit 1d35aa9
Show file tree
Hide file tree
Showing 9 changed files with 40 additions and 23 deletions.
12 changes: 6 additions & 6 deletions exporter/core/organisation/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,21 +132,21 @@ class Layout:

class RegisterDetailsIndividualUKForm(RegisterDetailsBaseForm):
def __init__(self, *args, **kwargs):
self.Layout.TITLE = "Register a private individual"
super().__init__(*args, **kwargs)

self.fields["name"].label = "First and last name"
self.Layout.TITLE = "Register a private individual"
self.fields["vat_number"].label = self.REGISTRATION_LABEL + " (optional)"
self.fields["vat_number"].required = False
self.fields["registration_number"].label = self.REGISTRATION_LABEL + " (optional)"
self.fields["registration_number"].required = False

def clean(self):
for field in ["sic_number", "registration_number"]:
for field in ["sic_number", "vat_number"]:
if self.errors.get(field):
del self.errors[field]
return

def get_layout_fields(self):
return ("name", "eori_number", "vat_number")
return ("name", "eori_number", "registration_number")


class RegisterDetailsIndividualOverseasForm(RegisterDetailsIndividualUKForm):
Expand All @@ -159,9 +159,9 @@ def __init__(self, *args, **kwargs):

class RegisterDetailsCommercialUKForm(RegisterDetailsBaseForm):
def __init__(self, *args, **kwargs):
self.Layout.Title = "Register a commercial organisation"
super().__init__(*args, **kwargs)
self.fields["name"].label = "Name of organisation"
self.Layout.TITLE = "Register a commercial organisation"

def get_layout_fields(self):
return ("name", "eori_number", "sic_number", "vat_number", "registration_number")
Expand Down
4 changes: 2 additions & 2 deletions exporter/core/organisation/validators.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ def validate_sic_number(value):

def validate_registration(value):
if value:
if not value.isdigit():
raise ValidationError(Validation.LENGTH_REGISTRATION_NUMBER)
if len(value) != 8:
raise ValidationError(Validation.LENGTH_REGISTRATION_NUMBER)
if not value[2:].isdigit():
raise ValidationError(Validation.LENGTH_REGISTRATION_NUMBER)
return value
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
{% include "core/registration/includes/registration-details-corporation.html" %}

<h1 class="govuk-heading-m">
Where is your registered office address?
Where is your organisation based?
</h1>

{% include "core/registration/includes/address-details-abroad.html" %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
{% include "core/registration/includes/registration-details-corporation.html" %}

<h1 class="govuk-heading-m">
Where is your registered office address?
Where is your organisation based?
</h1>

{% include "core/registration/includes/address-details-uk.html" %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

<div class="govuk-summary-list__row" id="org-tel">
<dt class="govuk-summary-list__key">
Telephone number
Organisation telephone number
</dt>
<dd class="govuk-summary-list__value">
{{ registration_data.phone_number}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
</div>
<div class="govuk-summary-list__row" id="org-tel">
<dt class="govuk-summary-list__key">
Telephone number
Organisation telephone number
</dt>
<dd class="govuk-summary-list__value">
{{ registration_data.phone_number}}
Expand Down
12 changes: 6 additions & 6 deletions unit_tests/exporter/core/organisation/test_forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,21 +105,21 @@ def test_register_details_form_required_fields(data, valid, error, form_class):
forms.RegisterDetailsIndividualUKForm,
),
(
{"name": "joe", "eori_number": "GB205672212000", "vat_number": "123"},
{"name": "joe", "eori_number": "GB205672212000", "registration_number": "123"},
False,
{"vat_number": ["Standard UK VAT numbers are 9 digits long"]},
{"registration_number": ["Registration numbers are 8 numbers long"]},
forms.RegisterDetailsIndividualUKForm,
),
(
{"name": "joe", "eori_number": "GB205672212000", "vat_number": "123456789101112131"},
{"name": "joe", "eori_number": "GB205672212000", "registration_number": "123456789101112131"},
False,
{"vat_number": ["Standard UK VAT numbers are 9 digits long"]},
{"registration_number": ["Registration numbers are 8 numbers long"]},
forms.RegisterDetailsIndividualUKForm,
),
(
{"name": "joe", "eori_number": "GB205672212000", "vat_number": "GX123456789"},
{"name": "joe", "eori_number": "GB205672212000", "registration_number": "1234567FS"},
False,
{"vat_number": ["Invalid UK VAT number"]},
{"registration_number": ["Registration numbers are 8 numbers long"]},
forms.RegisterDetailsIndividualUKForm,
),
(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ def test_registration_individual_end_to_end_uk_based(
goto_step(RegistrationSteps.REGISTRATION_DETAILS)
response = post_to_step(
RegistrationSteps.REGISTRATION_DETAILS,
{"name": "joe", "eori_number": "GB205672212000", "vat_number": "GB123456789"},
{"name": "joe", "eori_number": "GB205672212000", "registration_number": "GB123456"},
)

assert response.status_code == 200
Expand Down Expand Up @@ -166,7 +166,7 @@ def test_registration_individual_end_to_end_uk_based(
"location": "united_kingdom",
"name": "joe",
"eori_number": "GB205672212000",
"vat_number": "GB123456789",
"registration_number": "GB123456",
"site": {
"name": "joe",
"address": {"address_line_1": "xyz", "address_line_2": "", "city": "c1", "region": "r", "postcode": "pc"},
Expand Down Expand Up @@ -210,7 +210,7 @@ def test_registration_individual_end_to_end_non_uk_based(
goto_step(RegistrationSteps.REGISTRATION_DETAILS)
post_to_step(
RegistrationSteps.REGISTRATION_DETAILS,
{"name": "joe", "eori_number": "GB205672212000", "vat_number": "GB123456789"},
{"name": "joe", "eori_number": "GB205672212000", "registration_number": "GB123456"},
)
goto_step(RegistrationSteps.ADDRESS_DETAILS)
response = post_to_step(
Expand All @@ -229,7 +229,7 @@ def test_registration_individual_end_to_end_non_uk_based(
"location": "abroad",
"name": "joe",
"eori_number": "GB205672212000",
"vat_number": "GB123456789",
"registration_number": "GB123456",
"site": {"name": "joe", "address": {"address": "xyz", "country": "US"}},
"phone_number": "+441234567890",
"website": "http://www.notreal.com",
Expand Down
19 changes: 18 additions & 1 deletion unit_tests/exporter/core/organisation/test_validators.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from django.core.exceptions import ValidationError

from exporter.core.organisation.validators import validate_phone
from exporter.core.organisation.validators import validate_phone, validate_registration


@pytest.mark.parametrize(
Expand Down Expand Up @@ -36,3 +36,20 @@ def test_validate_phone_valid_numbers(phone_number):
def test_validate_phone_number_invalid_numbers(phone_number):
with pytest.raises(ValidationError):
validate_phone(phone_number)


@pytest.mark.parametrize(
"registration_number",
("12345678", "RA123456", "ra123456", "01235233"),
)
def test_validate_registration_number_valid_numbers(registration_number):
assert validate_registration(registration_number) is registration_number


@pytest.mark.parametrize(
"registration_number",
("9234567921", "TAF12345", "BJLALKWD", " "),
)
def test_validate_registration_number_invalid_numbers(registration_number):
with pytest.raises(ValidationError):
validate_registration(registration_number)

0 comments on commit 1d35aa9

Please sign in to comment.