Commit f295da16 authored by Benjamin Neff's avatar Benjamin Neff

Merge branch 'release/0.7.0.0' into next-minor

parents 0c1dd195 b49b3367
class BlocksController < ApplicationController
before_action :authenticate_user!
respond_to :json
def create
block = current_user.blocks.new(block_params)
disconnect_if_contact(block.person) if block.save
respond_with do |format|
respond_to do |format|
format.json { head :no_content }
end
end
def destroy
current_user.blocks.find(params[:id]).delete
notice = if current_user.blocks.find_by(id: params[:id])&.delete
{notice: t("blocks.destroy.success")}
else
{error: t("blocks.destroy.failure")}
end
respond_with do |format|
respond_to do |format|
format.json { head :no_content }
format.any { redirect_back fallback_location: privacy_settings_path, flash: notice }
end
end
......
......@@ -2,6 +2,10 @@
-# licensed under the Affero General Public License version 3 or later. See
-# the COPYRIGHT file.
- flash.each do |name, msg|
.alert{class: "alert-#{flash_class name}", role: "alert"}
= msg
- content_for :page_title do
= t(".title")
......
......@@ -52,7 +52,8 @@ Feature: Invitations
Scenario: sends an invitation from the stream
When I sign in as "alice@alice.alice"
And I press the first "a.invitations-link" within "#no_contacts"
Then I should see "There are no posts to display here yet." within ".no-posts-info"
When I press the first "a.invitations-link" within "#no_contacts"
Then I should see "Invite someone to join diaspora*!" within "#invitationsModalLabel"
And I fill in the following:
| email_inviter_emails | alex@example.com |
......
......@@ -46,8 +46,13 @@ end
When /^I select only "([^"]*)" aspect$/ do |aspect_name|
click_link "My aspects"
expect(find("#aspect_stream_container")).to have_css(".loader.hidden", visible: false)
within("#aspects_list") do
all(".selected").each {|node| node.find(:xpath, "..").click }
all(".selected").each do |node|
aspect_item = node.find(:xpath, "..")
aspect_item.click
expect(aspect_item).to have_no_css ".selected"
end
expect(current_scope).to have_no_css ".selected"
end
step %Q(I select "#{aspect_name}" aspect as well)
......
......@@ -26,16 +26,36 @@ describe BlocksController, :type => :controller do
@block = alice.blocks.create(:person => eve.person)
end
it "responds with 204" do
it "redirects back" do
delete :destroy, params: {id: @block.id}
expect(response).to be_redirect
end
it "notifies the user" do
delete :destroy, params: {id: @block.id}
expect(flash[:notice]).to eq(I18n.t("blocks.destroy.success"))
end
it "responds with 204 with json" do
delete :destroy, params: {id: @block.id}, format: :json
expect(response.status).to eq(204)
end
it "redirects back on mobile" do
delete :destroy, params: {id: @block.id}, format: :mobile
expect(response).to be_redirect
end
it "removes a block" do
expect {
delete :destroy, params: {id: @block.id}, format: :json
}.to change { alice.blocks.count }.by(-1)
end
it "handles when the block to delete doesn't exist" do
delete :destroy, params: {id: -1}
expect(flash[:error]).to eq(I18n.t("blocks.destroy.failure"))
end
end
describe "#disconnect_if_contact" do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment