Merge branch 'next-minor' into develop
This commit is contained in:
commit
db14b58eeb
5 changed files with 41 additions and 8 deletions
|
|
@ -1,23 +1,26 @@
|
|||
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
|
||||
|
|
|
|||
Loading…
Reference in a new issue