Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUGFIX] [MER-2915] Additional activity summarization only visible when answering more than once #4628

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion assets/src/phoenix/activity_bridge.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ export const initActivityBridge = (elementId: string) => {
makeRequest(
`/api/v1/state/course/${e.detail.sectionSlug}/activity_attempt/${e.detail.attemptGuid}`,
'POST',
{},
{ survey_id: e.detail.props.context.surveyId },
e.detail.continuation,
);
},
Expand Down
6 changes: 4 additions & 2 deletions lib/oli/delivery/attempts/activity_lifecycle.ex
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,8 @@ defmodule Oli.Delivery.Attempts.ActivityLifecycle do
section_slug,
activity_attempt_guid,
datashop_session_id,
seed_state_from_previous \\ false
seed_state_from_previous \\ false,
survey_id \\ nil
) do
activity_attempt = get_activity_attempt_by(attempt_guid: activity_attempt_guid)
resource_attempt = get_resource_attempt_and_revision(activity_attempt.resource_attempt_id)
Expand Down Expand Up @@ -139,7 +140,8 @@ defmodule Oli.Delivery.Attempts.ActivityLifecycle do
resource_id: activity_attempt.resource_id,
group_id: activity_attempt.group_id,
revision_id: revision.id,
resource_attempt_id: activity_attempt.resource_attempt_id
resource_attempt_id: activity_attempt.resource_attempt_id,
survey_id: survey_id
}) do
# simulate preloading of the revision
new_activity_attempt = Map.put(new_activity_attempt, :revision, revision)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -616,7 +616,6 @@ defmodule OliWeb.Components.Delivery.PracticeActivities do
select: map(rev, [:id, :resource_id, :title])
)
|> Repo.all()
|> IO.inspect(label: "practiceactivity")
end

def get_activities_details(activity_resource_ids, section, activity_types_map, page_resource_id) do
Expand Down
6 changes: 4 additions & 2 deletions lib/oli_web/controllers/api/attempt_controller.ex
Original file line number Diff line number Diff line change
Expand Up @@ -641,7 +641,8 @@ defmodule OliWeb.Api.AttemptController do
conn,
%{
"section_slug" => section_slug,
"activity_attempt_guid" => activity_attempt_guid
"activity_attempt_guid" => activity_attempt_guid,
"survey_id" => survey_id
} = params
) do
seed_state_from_previous = Map.get(params, "seedResponsesWithPrevious", false)
Expand All @@ -651,7 +652,8 @@ defmodule OliWeb.Api.AttemptController do
section_slug,
activity_attempt_guid,
datashop_session_id,
seed_state_from_previous
seed_state_from_previous,
survey_id
) do
{:ok, {attempt_state, model}} ->
json(conn, %{"type" => "success", "attemptState" => attempt_state, "model" => model})
Expand Down
31 changes: 31 additions & 0 deletions test/oli_web/controllers/api/attempt_controller_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ defmodule OliWeb.AttemptControllerTest do

alias Oli.Seeder
alias Oli.Activities.Model.Part
alias Oli.Delivery.Attempts.Core

describe "bulk activity attempt request" do
setup [:setup_session]
Expand Down Expand Up @@ -46,6 +47,36 @@ defmodule OliWeb.AttemptControllerTest do
end
end

describe "reset activity attempt" do
setup [:setup_session]

test "use reset button sets survey_id field correctly", %{
conn: conn,
map: map
} do
# Simulate the user clicking the reset button
conn =
post(
conn,
Routes.attempt_path(
conn,
:new_activity,
map.section.slug,
map.activity_attempt1.attempt_guid
),
%{survey_id: "1010"}
)

# Verify that the response is successful
assert %{"type" => "success", "attemptState" => attempt_state, "model" => _model} =
json_response(conn, 200)

# Verify that the survey_id was set correctly
assert Core.get_activity_attempt_by(attempt_guid: attempt_state["attemptGuid"]).survey_id ==
"1010"
end
end

defp setup_session(%{conn: conn}) do
map =
Seeder.base_project_with_resource2()
Expand Down
Loading