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_login → User 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions