Merge pull request #3122 from consul/proposal-create-question
[Backport] Proposal create question
This commit is contained in:
@@ -1093,6 +1093,7 @@ form {
|
||||
|
||||
.callout {
|
||||
font-size: $small-font-size;
|
||||
overflow: hidden;
|
||||
|
||||
a:not(.button) {
|
||||
font-weight: bold;
|
||||
@@ -1132,6 +1133,10 @@ form {
|
||||
.close {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.no-error {
|
||||
|
||||
@@ -5,6 +5,18 @@
|
||||
<div class="proposal-show">
|
||||
<h2><%= @proposal.title %></h2>
|
||||
|
||||
<% if @proposal.successful? %>
|
||||
<div class="callout success">
|
||||
<%= t("proposals.proposal.successful") %>
|
||||
|
||||
<div class="float-right">
|
||||
<%= link_to t("poll_questions.create_question"),
|
||||
new_admin_question_path(proposal_id: @proposal.id),
|
||||
class: "button medium" %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<%= render "proposals/info", proposal: @proposal %>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -66,18 +66,10 @@
|
||||
class="small-12 medium-3 column supports-container">
|
||||
<% if proposal.successful? %>
|
||||
<div class="padding text-center">
|
||||
|
||||
<p>
|
||||
<%= t("proposals.proposal.successful") %>
|
||||
</p>
|
||||
</div>
|
||||
<% if can? :create, Poll::Question %>
|
||||
<p class="text-center">
|
||||
<%= link_to t('poll_questions.create_question'),
|
||||
new_admin_question_path(proposal_id: proposal.id),
|
||||
class: "button hollow" %>
|
||||
</p>
|
||||
<% end %>
|
||||
<% elsif proposal.archived? %>
|
||||
<div class="padding text-center">
|
||||
<strong><%= t("proposals.proposal.supports", count: proposal.total_votes) %></strong>
|
||||
|
||||
@@ -88,13 +88,6 @@
|
||||
<p>
|
||||
<%= t("proposals.proposal.successful") %>
|
||||
</p>
|
||||
<% if can? :create, Poll::Question %>
|
||||
<p class="text-center">
|
||||
<%= link_to t('poll_questions.create_question'),
|
||||
new_admin_question_path(proposal_id: @proposal.id),
|
||||
class: "button hollow expanded" %>
|
||||
</p>
|
||||
<% end %>
|
||||
<% elsif @proposal.archived? %>
|
||||
<div class="padding text-center">
|
||||
<p>
|
||||
|
||||
@@ -53,11 +53,12 @@ feature 'Admin poll questions' do
|
||||
expect(page).to have_content(title)
|
||||
end
|
||||
|
||||
scenario 'Create from successful proposal index' do
|
||||
scenario 'Create from successful proposal' do
|
||||
poll = create(:poll, name: 'Proposals')
|
||||
proposal = create(:proposal, :successful)
|
||||
|
||||
visit proposals_path
|
||||
visit admin_proposal_path(proposal)
|
||||
|
||||
click_link "Create question"
|
||||
|
||||
expect(page).to have_current_path(new_admin_question_path, ignore_query: true)
|
||||
@@ -72,17 +73,6 @@ feature 'Admin poll questions' do
|
||||
expect(page).to have_link(proposal.author.name, href: user_path(proposal.author))
|
||||
end
|
||||
|
||||
scenario "Create from successful proposal show" do
|
||||
poll = create(:poll, name: 'Proposals')
|
||||
proposal = create(:proposal, :successful)
|
||||
|
||||
visit proposal_path(proposal)
|
||||
click_link "Create question"
|
||||
|
||||
expect(page).to have_current_path(new_admin_question_path, ignore_query: true)
|
||||
expect(page).to have_field('Question', with: proposal.title)
|
||||
end
|
||||
|
||||
scenario 'Update' do
|
||||
question1 = create(:poll_question)
|
||||
|
||||
|
||||
@@ -28,12 +28,32 @@ feature "Admin proposals" do
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Show" do
|
||||
create(:proposal, title: "Create a chaotic future", summary: "Chaos isn't controlled")
|
||||
context "Show" do
|
||||
|
||||
visit admin_proposals_path
|
||||
click_link "Create a chaotic future"
|
||||
scenario "View proposal" do
|
||||
create(:proposal, title: "Create a chaotic future", summary: "Chaos isn't controlled")
|
||||
|
||||
expect(page).to have_content "Chaos isn't controlled"
|
||||
visit admin_proposals_path
|
||||
click_link "Create a chaotic future"
|
||||
|
||||
expect(page).to have_content "Chaos isn't controlled"
|
||||
expect(page).not_to have_content "This proposal has reached the required supports"
|
||||
expect(page).not_to have_link "Create question"
|
||||
end
|
||||
|
||||
scenario "Successful proposals show create question button" do
|
||||
successful_proposals = create_successful_proposals
|
||||
admin = create(:administrator)
|
||||
|
||||
login_as(admin.user)
|
||||
|
||||
visit admin_proposals_path
|
||||
|
||||
successful_proposals.each do |proposal|
|
||||
visit admin_proposal_path(proposal)
|
||||
expect(page).to have_content "This proposal has reached the required supports"
|
||||
expect(page).to have_link "Create question"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1789,8 +1789,11 @@ feature 'Successful proposals' do
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'Successful proposals show create question button to admin users' do
|
||||
scenario 'Successful proposals do not show create question button in index' do
|
||||
successful_proposals = create_successful_proposals
|
||||
admin = create(:administrator)
|
||||
|
||||
login_as(admin.user)
|
||||
|
||||
visit proposals_path
|
||||
|
||||
@@ -1799,17 +1802,20 @@ feature 'Successful proposals' do
|
||||
expect(page).not_to have_link "Create question"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
login_as(create(:administrator).user)
|
||||
scenario 'Successful proposals do not show create question button in show' do
|
||||
successful_proposals = create_successful_proposals
|
||||
admin = create(:administrator)
|
||||
|
||||
visit proposals_path
|
||||
login_as(admin.user)
|
||||
|
||||
successful_proposals.each do |proposal|
|
||||
visit proposal_path(proposal)
|
||||
within("#proposal_#{proposal.id}_votes") do
|
||||
expect(page).to have_link "Create question"
|
||||
expect(page).not_to have_link "Create question"
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context "Skip user verification" do
|
||||
|
||||
Reference in New Issue
Block a user