Source code for hmrc.api.testuser

"""Create Test User API"""

from dataclasses import dataclass
from datetime import date
from enum import Enum
from typing import List
from .data import HmrcDataClass, hmrcdataclass
from .client import HmrcClient, HmrcEndpoint

__all__ = [
    'TestUserService',
    'TestUserServices',
    'TestUserAddress',
    'TestUserIndividualDetails',
    'TestUserOrganisationDetails',
    'TestUser',
    'TestUserClient',
]


[docs]class TestUserService(Enum): """Service names for enrollment""" CORPORATION_TAX = 'corporation-tax' CUSTOMS_SERVICES = 'customs-services' LISA = 'lisa' MTD_INCOME_TAX = 'mtd-income-tax' MTD_VAT = 'mtd-vat' NATIONAL_INSURANCE = 'national-insurance' PAYE_FOR_EMPLOYERS = 'paye-for-employers' RELIEF_AT_SOURCE = 'relief-at-source' SECURE_ELECTRONIC_TRANSFER = 'secure-electronic-transfer' SELF_ASSESSMENT = 'self-assessment' SUBMIT_VAT_RETURNS = 'submit-vat-returns'
[docs]@hmrcdataclass class TestUserServices(HmrcDataClass): """Services for which the test user should be enrolled""" service_names: List[TestUserService]
[docs]@hmrcdataclass class TestUserAddress(HmrcDataClass): """Test user address""" line1: str line2: str postcode: str
[docs]@hmrcdataclass class TestUserIndividualDetails(HmrcDataClass): """Individual test user details""" first_name: str last_name: str date_of_birth: date address: TestUserAddress
[docs]@hmrcdataclass class TestUserOrganisationDetails(HmrcDataClass): """Organisation test user details""" name: str address: TestUserAddress
[docs]@hmrcdataclass class TestUser(HmrcDataClass): """Organisation test user""" user_id: str password: str user_full_name: str email_address: str individual_details: TestUserIndividualDetails = None organisation_details: TestUserOrganisationDetails = None sa_utr: str = None nino: str = None mtd_it_id: str = None emp_ref: str = None ct_utr: str = None vrn: str = None vat_registration_date: date = None lisa_manager_reference_number: str = None secure_electronic_transfer_reference_number: str = None pension_scheme_administrator_identifier: str = None eori_number: str = None group_identifier: str = None
[docs]@dataclass class TestUserClient(HmrcClient): """Create Test User API client""" create_individual = HmrcEndpoint('/create-test-user/individuals', request=TestUserServices, response=TestUser) create_organisation = HmrcEndpoint('/create-test-user/organisations', request=TestUserServices, response=TestUser)