Refactor JS and add update test
This commit is contained in:
@@ -1,45 +1,14 @@
|
|||||||
App.LegislationAdmin =
|
App.LegislationAdmin =
|
||||||
|
|
||||||
initialize: ->
|
initialize: ->
|
||||||
$("input[type='checkbox']#debate_phase_active").on
|
$("input[type='checkbox'][data-disable-date]").on
|
||||||
change: ->
|
change: ->
|
||||||
if $("input[type='checkbox']#debate_phase_active").is(':checked')
|
checkbox = $(this)
|
||||||
console.log("checked")
|
parent = $(this).parents('.row:eq(0)')
|
||||||
$("input#debate_start_date").removeAttr("disabled")
|
date_selector = $(this).data('disable-date')
|
||||||
$("input#debate_end_date").removeAttr("disabled")
|
parent.find("input[type='text'][id^='"+date_selector+"']").each ->
|
||||||
else
|
if checkbox.is(':checked')
|
||||||
console.log("unchecked")
|
$(this).removeAttr("disabled")
|
||||||
$("input#debate_start_date").val("")
|
else
|
||||||
$("input#debate_start_date").attr("disabled", true)
|
$(this).val("")
|
||||||
$("input#debate_end_date").val("")
|
|
||||||
$("input#debate_end_date").attr("disabled", true)
|
|
||||||
|
|
||||||
$("input[type='checkbox']#allegations_phase_active").on
|
|
||||||
change: ->
|
|
||||||
if $("input[type='checkbox']#allegations_phase_active").is(':checked')
|
|
||||||
$("input#allegations_start_date").removeAttr("disabled")
|
|
||||||
$("input#allegations_end_date").removeAttr("disabled")
|
|
||||||
else
|
|
||||||
$("input#allegations_start_date").val("")
|
|
||||||
$("input#allegations_start_date").prop( "disabled", true )
|
|
||||||
$("input#allegations_end_date").val("")
|
|
||||||
$("input#allegations_end_date").prop( "disabled", true )
|
|
||||||
|
|
||||||
$("input[type='checkbox']#draft_publication_phase_active").on
|
|
||||||
change: ->
|
|
||||||
if $("input[type='checkbox']#draft_publication_phase_active").is(':checked')
|
|
||||||
$("input#draft_publication_date").removeAttr("disabled")
|
|
||||||
else
|
|
||||||
$("input#draft_publication_date").val("")
|
|
||||||
$("input#draft_publication_date").prop( "disabled", true )
|
|
||||||
|
|
||||||
$("input[type='checkbox']#final_version_publication_phase_active").on
|
|
||||||
change: ->
|
|
||||||
if $("input[type='checkbox']#final_version_publication_phase_active").is(':checked')
|
|
||||||
$("input#final_publication_date").removeAttr("disabled")
|
|
||||||
else
|
|
||||||
$("input#final_publication_date").val("")
|
|
||||||
$("input#final_publication_date").prop( "disabled", true )
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -64,8 +64,8 @@
|
|||||||
id: "debate_end_date" %>
|
id: "debate_end_date" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="small-12 medium-2 column">
|
<div class="small-12 medium-2 column">
|
||||||
<%= check_box_tag :debate_phase_active, @process.active_phase?(:debate), @process.new_record? || @process.active_phase?(:debate) %>
|
<%= check_box_tag :debate_phase_active, @process.active_phase?(:debate), @process.new_record? || @process.active_phase?(:debate), data: {disable_date: "debate"} %>
|
||||||
<%= t('admin.legislation.processes.form.active') %>
|
<%= label_tag :debate_phase_active, t('admin.legislation.processes.form.active') %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="small-12 medium-4 column">
|
<div class="small-12 medium-4 column">
|
||||||
@@ -92,8 +92,8 @@
|
|||||||
id: "allegations_end_date" %>
|
id: "allegations_end_date" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="small-12 medium-2 column">
|
<div class="small-12 medium-2 column">
|
||||||
<%= check_box_tag :allegations_phase_active, @process.active_phase?(:allegations), @process.new_record? || @process.active_phase?(:allegations) %>
|
<%= check_box_tag :allegations_phase_active, @process.active_phase?(:allegations), @process.new_record? || @process.active_phase?(:allegations), data: {disable_date: "allegations"} %>
|
||||||
<%= t('admin.legislation.processes.form.active') %>
|
<%= label_tag :allegations_phase_active, t('admin.legislation.processes.form.active') %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -109,8 +109,8 @@
|
|||||||
id: "draft_publication_date" %>
|
id: "draft_publication_date" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="small-12 medium-2 column">
|
<div class="small-12 medium-2 column">
|
||||||
<%= check_box_tag :draft_publication_phase_active, @process.active_phase?(:draft_publication), @process.new_record? || @process.active_phase?(:draft_publication) %>
|
<%= check_box_tag :draft_publication_phase_active, @process.active_phase?(:draft_publication), @process.new_record? || @process.active_phase?(:draft_publication), data: {disable_date: "draft_publication"} %>
|
||||||
<%= t('admin.legislation.processes.form.active') %>
|
<%= label_tag :draft_publication_phase_active, t('admin.legislation.processes.form.active') %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -126,8 +126,8 @@
|
|||||||
id: "final_publication_date" %>
|
id: "final_publication_date" %>
|
||||||
</div>
|
</div>
|
||||||
<div class="small-12 medium-2 column">
|
<div class="small-12 medium-2 column">
|
||||||
<%= check_box_tag :final_version_publication_phase_active, @process.active_phase?(:final_version_publication), @process.new_record? || @process.active_phase?(:final_version_publication) %>
|
<%= check_box_tag :final_version_publication_phase_active, @process.active_phase?(:final_version_publication), @process.new_record? || @process.active_phase?(:final_version_publication), data: {disable_date: "final_publication"} %>
|
||||||
<%= t('admin.legislation.processes.form.active') %>
|
<%= label_tag :final_version_publication_phase_active, t('admin.legislation.processes.form.active') %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -59,4 +59,27 @@ feature 'Admin legislation processes' do
|
|||||||
expect(page).to have_content 'An example legislation process'
|
expect(page).to have_content 'An example legislation process'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'Update' do
|
||||||
|
scenario 'Deactivate debate phase', js: true do
|
||||||
|
process = create(:legislation_process, title: 'An example legislation process')
|
||||||
|
visit admin_root_path
|
||||||
|
|
||||||
|
within('#side_menu') do
|
||||||
|
click_link "Collaborative Legislation"
|
||||||
|
end
|
||||||
|
|
||||||
|
click_link "An example legislation process"
|
||||||
|
|
||||||
|
expect(page).to have_selector("h1", text: "An example legislation process")
|
||||||
|
expect(find("#debate_phase_active")).to be_checked
|
||||||
|
|
||||||
|
uncheck "debate_phase_active"
|
||||||
|
click_button "Save changes"
|
||||||
|
|
||||||
|
expect(page).to have_content "Process updated successfully"
|
||||||
|
expect(find("#debate_start_date").value).to be_blank
|
||||||
|
expect(find("#debate_end_date").value).to be_blank
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user