context: Object { actionCode: "bid", post: undefined }
O teste não verifica os parâmetros, então isso passa despercebido.
Eu acho que o parâmetro post deveria ser this.args.post e não this.post.
Eu tenho tentado uma solução alternativa adicionando incondicionalmente o componente e fazendo com que ele verifique o que fazer, mas infelizmente parece que os argumentos não estão sendo passados corretamente também, então tanto a solução alternativa quanto uma implementação normal falham aqui também:
Existem getters em PostSmallAction para code, createdAt e path, mas (novamente) this.post não existe e username() parece ter um bug também (não há action_code_who em this.args.post?), então esses atributos permanecem vazios.
Não consigo encontrar uma implementação “real” existente. Sou realmente o primeiro a usar isso?
Você está correto; o parâmetro post deveria ser this.args.post em vez de this.post.
username é um pouco enganoso aqui. action_code_who está correto, mas é usado por alguns plugins como o plugin assign, então ele nem sempre está presente no objeto post. Para obter o usuário que criou a pequena ação, você pode usar @post.username
Eu não tinha certeza se poderia enviar alterações para o seu PR, então abri o abaixo para resolver esses problemas:
corrige o argumento post passado tanto para o transformer quanto para o componente personalizado
renomeia o argumento username para who, minimizando a confusão em torno deste argumento
adiciona testes para verificar se os argumentos são passados corretamente
Até onde sei, a API antiga não foi usada em nenhuma das personalizações que rastreamos nos repositórios all-the-*. Adicionei esta apenas para fornecer uma alternativa caso um auto-hospedeiro a estivesse usando.