Skip to content

feat(onboarding): listener liga aprovação do PR → conclui git_challenge (APTO) #353

Description

@danielhe4rt

Parent

#341

O que construir

Ligar a aprovação do PR ao onboarding: o listener conclui o git_challenge automaticamente.

  • Listener de GithubPullRequestApproved no onboarding.
  • Resolve author_loginUser via ExternalIdentity (provider github).
  • Confere se o repo é de desafio (GithubRepository.purpose = challenge, tenant-scoped).
  • Se o usuário tem onboarding Squads no git_challenge, conclui → APTO. Aprovações de repos não-challenge são ignoradas.

Como o vínculo do GitHub é pré-requisito (#350), o autor sempre casa um usuário — sem reconciliação/buffer.

Critérios de aceite

  • Listener registrado para GithubPullRequestApproved
  • Resolve usuário via ExternalIdentity github
  • Só age em repos purpose = challenge
  • Conclui git_challenge → Squads completed (APTO)
  • Aprovação de repo não-challenge é ignorada
  • Teste end-to-end (evento → APTO)

BDD

# language: pt
Funcionalidade: Aprovação do PR conclui o desafio
  Cenário: Aprovação em repo de desafio torna o usuário APTO
    Dado um usuário com onboarding Squads no git_challenge e GitHub vinculado
    E um GithubRepository de desafio (purpose challenge)
    Quando chega GithubPullRequestApproved do autor nesse repo
    Então o step git_challenge é concluído
    E o usuário fica APTO

  Cenário: Aprovação em repo que não é de desafio é ignorada
    Dado o mesmo usuário
    Quando chega GithubPullRequestApproved de um repo com purpose contributions
    Então o onboarding não é alterado

Bloqueada por

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions