He investigado y he descubierto por qué falló el rspec.
La especificación original está afirmando un componente con la propiedad expect(page).to have_css(\".user-stream-item [data-post-id='#{post_1.id}']\").
Sin embargo, el #{post_1.id} se cambió a reaction_user_id en el último commit, esto causó una falta de coincidencia, lo que provocó el fallo.
La idea original era cambiar id para satisfacer la necesidad de la API, sin embargo, omití el hecho de que el id también se usa en PostList como post_id, como se muestra a continuación:
<PostList
@posts={{@model}}
@fetchMorePosts={{@controller.loadMore}}
@emptyText={{i18n "notifications.empty"}}
@additionalItemClasses="user-stream-item"
@showUserInfo={{false}}
class="user-stream"
>
Y el id utilizado en él se mapea en el componente post.gjs
data-post-id={{@post.id}}
data-topic-id={{@post.topicId}}
data-user-id={{@post.user_id}}
Por lo tanto, el comportamiento original de id no debe cambiarse, ya que esto puede causar graves discrepancias en el postList, lo que conduce directamente al fallo del rspec de ayer.
Como solución alternativa, podría haber otra forma de resolver esto:
Añadir un nuevo campo reaction_user_id: reaction.id cuando se aplane para PostList (flattenForPostList), luego modificar la función #getLastIdFrom(array) de return array.length ? array[array.length - 1].id : null; a return array.length ? array[array.length - 1].reaction_user_id.
En resumen (TL:DR);
El reaction_id, post_id y ahora el reaction_user_id son totalmente diferentes, pero el id utilizado en el componente postList debe ser post_id. Mientras que el id necesario para obtener la siguiente página debe ser reaction_user_id, lo cual es extremadamente desconcertante.
@nat