defmodule Medicode.FeedbackButtonTest do use MedicodeWeb.ConnCase, async: true import Phoenix.LiveViewTest import Medicode.{ AccountsFixtures, TranscriptionChunksFixtures, TranscriptionChunkCodeVectorsFixtures, CodeVectorsFixtures, CodeFeedbacksFixtures } alias Medicode.Repo alias MedicodeWeb.Components.TranscriptionTextCodingsComponent describe "feedback_button" do setup do insert_code_vector_fixtures() user = user_fixture() chunk = transcription_chunk_fixture() code_vector = code_vector_fixture() transcription_chunk_code_vector = transcription_chunk_code_vector_fixture(%{ chunk_id: chunk.id, code_vector_id: code_vector.id }) |> Repo.preload([:code_vector, :assigned_by_user]) positive_code_feedback = code_feedback_fixture(%{response: true}) negative_code_feedback = code_feedback_fixture(%{response: false}) %{ user: user, chunk: chunk, code_vector: code_vector, transcription_chunk_code_vector: transcription_chunk_code_vector, positive_code_feedback: positive_code_feedback, negative_code_feedback: negative_code_feedback } end test "renders code vector text", %{ user: user, chunk: chunk, code_vector: code_vector, transcription_chunk_code_vector: transcription_chunk_code_vector } do component = render_component(TranscriptionTextCodingsComponent, id: transcription_chunk_code_vector.id, code_feedback: nil, chunk_id: chunk.id, code_vectors_with_feedback: [{transcription_chunk_code_vector, nil}], score: 1.0, text: chunk.text, weighting: [1.0], assigned_by_user: nil, current_user: user, myself: transcription_chunk_code_vector.id ) assert component =~ chunk.text assert component =~ code_vector.description assert component =~ code_vector.code assert component =~ ~s(title="Similarity score: 1.0. Weighting: 1.0 \(1\)") assert component =~ ~s(