Ejemplo n.º 1
0
def test_account():
    account_validation = AccountValidation(
        nombre='Ricardo',
        apellido_paterno='Sánchez',
        cuenta='646180157063641989',
        rfc_curp='SACR891125M47',
        telefono='5567980796',
        fecha_nacimiento=dt.datetime(1989, 11, 25),
        pais_nacimiento='MX',
    )
    account = account_validation.transform()

    account.save()
    account_saved = Account.objects.get(id=account.id)

    assert account_saved.created_at is not None
    assert account_saved.updated_at is not None
    assert account.estado is Estado.created
    assert account_saved.nombre == account.nombre
    assert account_saved.apellido_paterno == account.apellido_paterno
    assert account_saved.apellido_materno == account.apellido_materno
    assert account_saved.cuenta == account.cuenta
    assert account_saved.rfc_curp == account.rfc_curp
    assert account_saved.telefono == account.telefono
    assert account_saved.pais_nacimiento == 'SE_DESCONOCE'

    account.delete()
Ejemplo n.º 2
0
def update_account(self, account_dict: dict) -> None:
    try:
        validation_model = AccountValidation(**account_dict)  # type: ignore
        account = Account.objects.get(cuenta=validation_model.cuenta)
        account.update_account(validation_model.transform())
    except ValidationError as exc:
        capture_exception(exc)
    except DoesNotExist:
        create_account.apply_async((account_dict, ))
    except Exception as exc:
        capture_exception(exc)
        self.retry(countdown=COUNTDOWN, exc=exc)
Ejemplo n.º 3
0
def execute_create_account(account_dict: dict):
    account_val = AccountValidation(**account_dict)  # type: ignore
    # Look for previous accounts
    account = account_val.transform()
    try:
        previous_account = Account.objects.get(cuenta=account.cuenta)
    except DoesNotExist:
        account.events.append(Event(type=EventType.created))
        account.save()
    else:
        account = previous_account
        account.events.append(Event(type=EventType.retry))

    if account.estado is Estado.succeeded:
        return

    account.create_account()
Ejemplo n.º 4
0
def test_create_account():
    account_validation = AccountValidation(
        nombre='Ricardo',
        apellido_paterno='Sánchez',
        cuenta='646180157069665325',
        rfc_curp='SACR891125HDFGHI01',
        telefono='5567980796',
    )

    account = account_validation.transform()

    account.save()

    account.create_account()

    assert account.estado is Estado.succeeded

    account.delete()
Ejemplo n.º 5
0
def test_create_account_failed():
    account_validation = AccountValidation(
        nombre='Ricardo',
        apellido_paterno='Sánchez',
        cuenta='646180157063641989',
        rfc_curp='SACR89112501',
        telefono='5567980796',
    )

    account = account_validation.transform()

    account.save()
    account_id = account.id

    with pytest.raises(InvalidRfcOrCurp):
        account.create_account()

    account = Account.objects.get(id=account_id)
    assert account.estado is Estado.error

    account.delete()