context: Object { actionCode: "bid", post: undefined }
Le test ne vérifie pas les paramètres, donc cela passe inaperçu.
Je suppose que le paramètre post devrait être this.args.post et non this.post.
J’ai essayé une solution de contournement en ajoutant inconditionnellement le composant et en le faisant vérifier lui-même ce qu’il faut faire, mais malheureusement, il semble que les arguments ne soient pas non plus transmis correctement, de sorte que la solution de contournement et une implémentation normale échouent également ici :
Il y a des getters dans PostSmallAction pour code, createdAt et path, mais (encore une fois) this.post n’existe pas et username() semble également avoir un bug (il n’y a pas de action_code_who dans this.args.post ?), donc ces attributs restent vides.
Je ne trouve aucune implémentation existante dans le “monde réel”. Suis-je vraiment le premier à l’utiliser ?
Vous avez raison ; le paramètre post devrait être this.args.post au lieu de this.post.
username est un peu trompeur ici. action_code_who est en effet correct mais est utilisé par certains plugins comme le plugin assign, il n’est donc pas toujours présent dans l’objet post. Pour obtenir l’utilisateur qui a créé la petite action, vous pouvez utiliser @post.username
Je n’étais pas sûr de pouvoir pousser des modifications à votre PR, j’ai donc ouvert celle ci-dessous pour résoudre ces problèmes :
corriger l’argument post passé à la fois au transformateur et au composant personnalisé
renommer l’argument username en who afin de minimiser la confusion autour de cet argument
ajouter des tests pour vérifier que les arguments sont correctement passés
Autant que je sache, l’ancienne API n’a été utilisée dans aucune des personnalisations que nous suivons dans les dépôts all-the-*. Je n’ai ajouté celle-ci que pour fournir une alternative au cas où un auto-hébergeur l’utiliserait.