Skip to content

Resposta do motorista à proposta (aceitar/recusar/contraproposta) #48

Description

@JoaoBittencourt1

Descrição

Resposta do motorista a uma proposta (UC06): aceitar, recusar (com justificativa) ou enviar contraproposta (apenas o valor pode mudar — RN04). Complementa o CRUD de proposal (#42) com as transições de estado e os efeitos colaterais (notificações, criação/atualização de contrato).

Objetivo

Implementar as ações de resposta do motorista e suas regras de transição de estado, notificando o cliente e encaminhando ao fluxo de pagamento quando aceita.

Requisitos (Critérios de Aceite)

  • Aceitar: notifica o cliente e inicia o fluxo de pagamento/ativação de contrato (UC07)
  • Recusar: aceita justificativa opcional, marca contrato como Recusado, notifica o cliente com o motivo
  • Contraproposta: apenas o valor pode ser alterado (RN04); notifica o cliente; cliente pode aceitar ou recusar
  • Apenas o motorista dono da proposta e aprovado pode responder (RN02)
  • Transições de estado válidas e idempotentes (não responder duas vezes)
  • Notificações geradas em cada caminho (UC20)
  • Testes cobrindo aceitar/recusar/contraproposta e estados inválidos (gate JaCoCo ≥75%, Spotless)

Prioridade

  • Baixa
  • Média
  • Alta — fecha o fluxo "cliente envia → motorista recebe e responde".
  • Urgente

Checklist de Tarefas

  • Endpoints/ações: aceitar, recusar (motivo), contraproposta (valor)
  • Máquina de estados da proposta/contrato
  • Regras RN02/RN04 + autorização
  • Notificações ao cliente
  • Testes (unit + integração)

Referências

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions