-
Notifications
You must be signed in to change notification settings - Fork 123
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
External Form Upload: Display import summary / errors (#1208)
* Add TODO comment * get turbo working * Swap to h1 * Replace with one partial * Render new frame * Swap heading and render one frame * Render turbo frame * Revert change, save for follow up * Add newline * Change to h5 * internationlize * Add styling * Fix lint * Add test coverage * Fix lint
- Loading branch information
Showing
6 changed files
with
75 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 21 additions & 0 deletions
21
app/views/organizations/staff/external_form_upload/_upload_results.html.erb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
<turbo-frame id="results"> | ||
<% if import.success? %> | ||
<div class="alert alert-success"> | ||
<h5 class="alert-heading" role="alert"><%= t('.success_heading') %></h5> | ||
<p><%= t('.submissions_added', count: import.count) %></p> | ||
</div> | ||
<% else %> | ||
<div class="alert alert-danger"> | ||
<h5 class="alert-heading" role="alert"><%= t('.error_heading', count: import.errors.count) %></h5> | ||
<p><%= t('.submissions_added', count: import.count) %></p> | ||
<%= t('.review_errors', count: import.count) %> | ||
<ul> | ||
<% import.errors.each do |error| %> | ||
<li> | ||
<%= t('.row', number: error[0], message: error[1].message) %> | ||
</li> | ||
<% end %> | ||
</ul> | ||
</div> | ||
<% end %> | ||
</turbo-frame> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,5 +22,6 @@ | |
</div> | ||
</div> | ||
<% end %> | ||
<%= turbo_frame_tag "results" %> | ||
</div> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,24 +3,54 @@ | |
module Organizations | ||
module Staff | ||
class ExternalFormUploadControllerTest < ActionDispatch::IntegrationTest | ||
setup do | ||
file = fixture_file_upload("google_form_sample.csv", "text/csv") | ||
@params = {files: file} | ||
admin = create(:admin) | ||
@adopter = create(:adopter, email: "[email protected]") | ||
@adopter2 = create(:adopter, email: "[email protected]") | ||
sign_in admin | ||
end | ||
context "success" do | ||
setup do | ||
file = fixture_file_upload("google_form_sample.csv", "text/csv") | ||
@params = {files: file} | ||
admin = create(:admin) | ||
@adopter = create(:adopter, email: "[email protected]") | ||
@adopter2 = create(:adopter, email: "[email protected]") | ||
sign_in admin | ||
end | ||
|
||
should "Creates new form submission" do | ||
assert_difference "@adopter.person.form_submissions.count" do | ||
post staff_external_form_upload_index_path, params: @params | ||
end | ||
end | ||
|
||
should "It does not create form answers for adopter2" do | ||
assert_no_difference "@adopter2.person.form_submissions.count" do | ||
post staff_external_form_upload_index_path, params: @params | ||
end | ||
end | ||
|
||
should "shows success feedback" do | ||
post staff_external_form_upload_index_path, params: @params, as: :turbo_stream | ||
|
||
test "Creates new form submission" do | ||
assert_difference "@adopter.person.form_submissions.count" do | ||
post staff_external_form_upload_index_path, params: @params | ||
assert_response :success | ||
assert_turbo_stream(action: "replace", count: 1) do | ||
assert_select "h5", text: "File successfully scanned" | ||
end | ||
end | ||
end | ||
|
||
test "It does not create form answers for adopter2" do | ||
assert_no_difference "@adopter2.person.form_submissions.count" do | ||
post staff_external_form_upload_index_path, params: @params | ||
context "error" do | ||
setup do | ||
file = fixture_file_upload("google_form_error_sample.csv", "text/csv") | ||
@params = {files: file} | ||
admin = create(:admin) | ||
create(:adopter, email: "[email protected]") | ||
sign_in admin | ||
end | ||
|
||
should "shows error feedback" do | ||
post staff_external_form_upload_index_path, params: @params, as: :turbo_stream | ||
|
||
assert_response :success | ||
assert_turbo_stream(action: "replace", count: 1) do | ||
assert_select "h5", text: "File scanned: 1 error(s) present" | ||
end | ||
end | ||
end | ||
end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Timestamp,Nombre,Email,Dirección,Número de teléfono,Comentarios | ||
2024/13/05 7:14:21 p. m. GMT-4,dsf,[email protected],dsfsdf,sdfsdf,ds |