From d0b290ea4dafc4cc82a920f13dff78e6383e3ee4 Mon Sep 17 00:00:00 2001 From: realtin <juliakbln@gmail.com> Date: Wed, 15 Jul 2015 15:19:16 +0200 Subject: [PATCH] refactor hash indentation and add double quotes this is the suggested styling according to hound/pronto/rubocop (#6192) --- Changelog.md | 1 + spec/models/account_deletion_spec.rb | 28 +++---- spec/models/acts_as_taggable_on_tag_spec.rb | 10 +-- spec/models/aspect_membership_spec.rb | 8 +- spec/models/aspect_spec.rb | 18 ++--- spec/models/block_spec.rb | 6 +- spec/models/comment_spec.rb | 40 +++++----- spec/models/contact_spec.rb | 54 ++++++------- spec/models/conversation_spec.rb | 76 +++++++++++-------- spec/models/conversation_visibilities_spec.rb | 10 ++- 10 files changed, 132 insertions(+), 119 deletions(-) diff --git a/Changelog.md b/Changelog.md index 843dfcf4d4..47f86cccd1 100644 --- a/Changelog.md +++ b/Changelog.md @@ -6,6 +6,7 @@ * Add link to pod statistics in right navigation [#6117](https://github.com/diaspora/diaspora/pull/6117) * Refactor person related URL generation [#6168](https://github.com/diaspora/diaspora/pull/6168) * Move webfinger and HCard generation out of the core and embed the `diaspora_federation-rails` gem [#6151](https://github.com/diaspora/diaspora/pull/6151/) +* Refactor rspec tests to to use `let` instead of before blocks [#6199](https://github.com/diaspora/diaspora/pull/6199) ## Bug fixes * Precompile facebox images [#6105](https://github.com/diaspora/diaspora/pull/6105) diff --git a/spec/models/account_deletion_spec.rb b/spec/models/account_deletion_spec.rb index 2d052dd664..0126edb77a 100644 --- a/spec/models/account_deletion_spec.rb +++ b/spec/models/account_deletion_spec.rb @@ -2,59 +2,59 @@ # licensed under the Affero General Public License version 3 or later. See # the COPYRIGHT file. -require 'spec_helper' +require "spec_helper" describe AccountDeletion, :type => :model do let(:account_deletion_new) { AccountDeletion.new(person: alice.person) } let(:account_deletion_create) { AccountDeletion.create(person: alice.person) } - it 'assigns the diaspora_handle from the person object' do + it "assigns the diaspora_handle from the person object" do expect(account_deletion_new.diaspora_handle).to eq(alice.person.diaspora_handle) end - it 'fires a job after creation'do + it "fires a job after creation"do expect(Workers::DeleteAccount).to receive(:perform_async).with(anything) account_deletion_create end describe "#perform!" do - it 'creates a deleter' do + it "creates a deleter" do expect(AccountDeleter).to receive(:new).with(alice.person.diaspora_handle).and_return(double(perform!: true)) account_deletion_new.perform! end - it 'dispatches the account deletion if the user exists' do + it "dispatches the account deletion if the user exists" do expect(account_deletion_new).to receive(:dispatch) account_deletion_new.perform! end - it 'does not dispatch an account deletion for non-local people' do + it "does not dispatch an account deletion for non-local people" do deletion = AccountDeletion.new(person: remote_raphael) expect(deletion).not_to receive(:dispatch) deletion.perform! end - it 'marks an AccountDeletion as completed when successful' do + it "marks an AccountDeletion as completed when successful" do account_deletion_create.perform! expect(account_deletion_create.reload.completed_at).not_to be_nil end end - describe '#dispatch' do - it 'creates a public postzord' do + describe "#dispatch" do + it "creates a public postzord" do expect(Postzord::Dispatcher::Public).to receive(:new).and_return(double.as_null_object) account_deletion_new.dispatch end end describe "#subscribers" do - it 'includes all remote contacts' do + it "includes all remote contacts" do alice.share_with(remote_raphael, alice.aspects.first) expect(account_deletion_new.subscribers(alice)).to eq([remote_raphael]) end - it 'includes remote resharers' do + it "includes remote resharers" do status_message = FactoryGirl.create(:status_message, public: true, author: alice.person) FactoryGirl.create(:reshare, author: remote_raphael, root: status_message) FactoryGirl.create(:reshare, author: local_luke.person, root: status_message) @@ -63,14 +63,14 @@ describe AccountDeletion, :type => :model do end end - describe 'serialization' do + describe "serialization" do let(:xml) { account_deletion_new.to_xml.to_s } - it 'should have a diaspora_handle' do + it "should have a diaspora_handle" do expect(xml.include?(alice.person.diaspora_handle)).to eq(true) end - it 'marshals the xml' do + it "marshals the xml" do expect(AccountDeletion.from_xml(xml)).to be_valid end end diff --git a/spec/models/acts_as_taggable_on_tag_spec.rb b/spec/models/acts_as_taggable_on_tag_spec.rb index 214a573719..84f1fd982b 100644 --- a/spec/models/acts_as_taggable_on_tag_spec.rb +++ b/spec/models/acts_as_taggable_on_tag_spec.rb @@ -1,16 +1,16 @@ -require 'spec_helper' +require "spec_helper" describe ActsAsTaggableOn::Tag, :type => :model do subject(:tag) { ActsAsTaggableOn::Tag } - describe '.autocomplete' do + describe ".autocomplete" do let!(:tag_cats) { tag.create(name: "cats") } - it 'downcases the tag name' do + it "downcases the tag name" do expect(tag.autocomplete("CATS")).to eq([tag_cats]) end - it 'does an end where on tags' do + it "does an end where on tags" do expect(tag.autocomplete("CAT")).to eq([tag_cats]) end end @@ -37,7 +37,7 @@ describe ActsAsTaggableOn::Tag, :type => :model do end end - it 'allows for love' do + it "allows for love" do expect(tag.normalize("<3")).to eq("<3") expect(tag.normalize("#<3")).to eq("<3") end diff --git a/spec/models/aspect_membership_spec.rb b/spec/models/aspect_membership_spec.rb index 6e33d3f370..f579507940 100644 --- a/spec/models/aspect_membership_spec.rb +++ b/spec/models/aspect_membership_spec.rb @@ -2,10 +2,10 @@ # licensed under the Affero General Public License version 3 or later. See # the COPYRIGHT file. # -require 'spec_helper' +require "spec_helper" describe AspectMembership, :type => :model do - describe '#before_destroy' do + describe "#before_destroy" do let(:aspect) { alice.aspects.create(name: "two") } let(:contact) { alice.contact_for(bob.person) } let(:aspect_membership) { alice.aspects.where(name: "generic").first.aspect_memberships.first } @@ -14,13 +14,13 @@ describe AspectMembership, :type => :model do allow(aspect_membership).to receive(:user).and_return(alice) end - it 'calls disconnect if its the last aspect for the contact' do + it "calls disconnect if its the last aspect for the contact" do expect(alice).to receive(:disconnect).with(contact) aspect_membership.destroy end - it 'does not call disconnect if its not the last aspect for the contact' do + it "does not call disconnect if its not the last aspect for the contact" do expect(alice).not_to receive(:disconnect) alice.add_contact_to_aspect(contact, aspect) diff --git a/spec/models/aspect_spec.rb b/spec/models/aspect_spec.rb index 469ba313d4..3ccae9515d 100644 --- a/spec/models/aspect_spec.rb +++ b/spec/models/aspect_spec.rb @@ -2,26 +2,26 @@ # licensed under the Affero General Public License version 3 or later. See # the COPYRIGHT file. -require 'spec_helper' +require "spec_helper" describe Aspect, :type => :model do - describe 'creation' do + describe "creation" do let(:name) { alice.aspects.first.name } - it 'does not allow duplicate names' do + it "does not allow duplicate names" do expect { alice.aspects.create(name: name) }.not_to change(Aspect, :count) end - it 'validates case insensitiveness on names' do + it "validates case insensitiveness on names" do expect { alice.aspects.create(name: name.titleize) }.not_to change(Aspect, :count) end - it 'has a 20 character limit on names' do + it "has a 20 character limit on names" do aspect = Aspect.new(name: "this name is really too too too too too long") expect(aspect.valid?).to eq(false) end - it 'is able to have other users as contacts' do + it "is able to have other users as contacts" do aspect = alice.aspects.create(name: "losers") Contact.create(user: alice, person: eve.person, aspects: [aspect]) @@ -30,7 +30,7 @@ describe Aspect, :type => :model do expect(aspect.contacts.size).to eq(1) end - it 'has a contacts_visible? method' do + it "has a contacts_visible? method" do expect(alice.aspects.first.contacts_visible?).to be true end @@ -42,8 +42,8 @@ describe Aspect, :type => :model do end end - describe 'validation' do - it 'has no uniqueness of name between users' do + describe "validation" do + it "has no uniqueness of name between users" do aspect = alice.aspects.create(name: "New Aspect") aspect2 = eve.aspects.create(name: aspect.name) expect(aspect2).to be_valid diff --git a/spec/models/block_spec.rb b/spec/models/block_spec.rb index 2721ea1df0..54f7317fde 100644 --- a/spec/models/block_spec.rb +++ b/spec/models/block_spec.rb @@ -1,8 +1,8 @@ -require 'spec_helper' +require "spec_helper" describe Block, :type => :model do - describe 'validations' do - it 'doesnt allow you to block yourself' do + describe "validations" do + it "doesnt allow you to block yourself" do block = alice.blocks.create(person: alice.person) expect(block.errors[:person_id].size).to eq(1) end diff --git a/spec/models/comment_spec.rb b/spec/models/comment_spec.rb index 056998d43a..b6a5467067 100644 --- a/spec/models/comment_spec.rb +++ b/spec/models/comment_spec.rb @@ -2,7 +2,7 @@ # licensed under the Affero General Public License version 3 or later. See # the COPYRIGHT file. -require 'spec_helper' +require "spec_helper" require Rails.root.join("spec", "shared_behaviors", "relayable") describe Comment, :type => :model do @@ -20,7 +20,7 @@ describe Comment, :type => :model do expect(comment_alice.notification_type(eve, alice.person)).to eq(Notifications::AlsoCommented) end - it 'returns false if the comment is not on a post you own and no one "also_commented"' do + it "returns false if the comment is not on a post you own and no one 'also_commented'" do expect(comment_alice.notification_type(eve, alice.person)).to be false end @@ -31,7 +31,7 @@ describe Comment, :type => :model do comment_alice end - it 'does not return also commented if the user commented' do + it "does not return also commented if the user commented" do expect(comment_eve.notification_type(eve, alice.person)).to eq(false) end @@ -41,7 +41,7 @@ describe Comment, :type => :model do end end - describe 'User#comment' do + describe "User#comment" do it "should be able to comment on one's own status" do bob.comment!(status_bob, "sup dog") expect(status_bob.reload.comments.first.text).to eq("sup dog") @@ -52,15 +52,15 @@ describe Comment, :type => :model do expect(status_bob.reload.comments.first.text).to eq("why so formal?") end - it 'does not multi-post a comment' do + it "does not multi-post a comment" do expect { comment_alice }.to change { Comment.count }.by(1) end end - describe 'counter cache' do - it 'increments the counter cache on its post' do + describe "counter cache" do + it "increments the counter cache on its post" do expect { comment_alice }.to change{ @@ -69,7 +69,7 @@ describe Comment, :type => :model do end end - describe 'xml' do + describe "xml" do let(:commenter) { create(:user) } let(:commenter_aspect) { commenter.aspects.create(name: "bruisers") } let(:post) { alice.post :status_message, text: "hello", to: alices_aspect.id } @@ -80,26 +80,26 @@ describe Comment, :type => :model do connect_users(alice, alices_aspect, commenter, commenter_aspect) end - it 'serializes the sender handle' do + it "serializes the sender handle" do expect(xml.include?(commenter.diaspora_handle)).to be true end - it 'serializes the post_guid' do + it "serializes the post_guid" do expect(xml).to include(post.guid) end - describe 'marshalling' do + describe "marshalling" do let(:marshalled_comment) { Comment.from_xml(xml) } - it 'marshals the author' do + it "marshals the author" do expect(marshalled_comment.author).to eq(commenter.person) end - it 'marshals the post' do + it "marshals the post" do expect(marshalled_comment.post).to eq(post) end - it 'tries to fetch a missing parent' do + it "tries to fetch a missing parent" do guid = post.guid marshalled_comment post.destroy @@ -109,7 +109,7 @@ describe Comment, :type => :model do end end - describe 'it is relayable' do + describe "it is relayable" do let(:remote_parent) { build(:status_message, author: remote_raphael) } let(:local_parent) { local_luke.post :status_message, text: "hi", to: local_luke.aspects.first } let(:object_by_parent_author) { local_luke.comment!(local_parent, "yo!") } @@ -119,7 +119,7 @@ describe Comment, :type => :model do before do # shared_behaviors/relayable.rb is still using instance variables, so we need to define them here. - # Suggestion: refactor all specs using shared_behaviors/relayable.rb to use 'let' + # Suggestion: refactor all specs using shared_behaviors/relayable.rb to use "let" @object_by_parent_author = object_by_parent_author @object_by_recipient = object_by_recipient @dup_object_by_parent_author = dup_object_by_parent_author @@ -127,17 +127,17 @@ describe Comment, :type => :model do end let(:build_object) { alice.build_comment(post: status_bob, text: "why so formal?") } - it_should_behave_like 'it is relayable' + it_should_behave_like "it is relayable" end - describe 'tags' do + describe "tags" do let(:object) { build(:comment) } before do # shared_behaviors/taggable.rb is still using instance variables, so we need to define them here. - # Suggestion: refactor all specs using shared_behaviors/taggable.rb to use 'let' + # Suggestion: refactor all specs using shared_behaviors/taggable.rb to use "let" @object = object end - it_should_behave_like 'it is taggable' + it_should_behave_like "it is taggable" end end diff --git a/spec/models/contact_spec.rb b/spec/models/contact_spec.rb index 736530e618..b5efa37e1a 100644 --- a/spec/models/contact_spec.rb +++ b/spec/models/contact_spec.rb @@ -2,31 +2,31 @@ # licensed under the Affero General Public License version 3 or later. See # the COPYRIGHT file. -require 'spec_helper' +require "spec_helper" describe Contact, :type => :model do - describe 'aspect_memberships' do - it 'deletes dependent aspect memberships' do + describe "aspect_memberships" do + it "deletes dependent aspect memberships" do expect { alice.contact_for(bob.person).destroy }.to change(AspectMembership, :count).by(-1) end end - context 'validations' do + context "validations" do let(:contact) { Contact.new } - it 'requires a user' do + it "requires a user" do contact.valid? expect(contact.errors.full_messages).to include "User can't be blank" end - it 'requires a person' do + it "requires a person" do contact.valid? expect(contact.errors.full_messages).to include "Person can't be blank" end - it 'ensures user is not making a contact for himself' do + it "ensures user is not making a contact for himself" do contact.person = alice.person contact.user = alice @@ -34,7 +34,7 @@ describe Contact, :type => :model do expect(contact.errors.full_messages).to include "Cannot create self-contact" end - it 'validates uniqueness' do + it "validates uniqueness" do person = FactoryGirl.create(:person) contact2 = alice.contacts.create(person: person) @@ -54,9 +54,9 @@ describe Contact, :type => :model do end end - context 'scope' do - describe 'sharing' do - it 'returns contacts with sharing true' do + context "scope" do + describe "sharing" do + it "returns contacts with sharing true" do expect { alice.contacts.create!(sharing: true, person: FactoryGirl.create(:person)) alice.contacts.create!(sharing: false, person: FactoryGirl.create(:person)) @@ -66,8 +66,8 @@ describe Contact, :type => :model do end end - describe 'receiving' do - it 'returns contacts with sharing true' do + describe "receiving" do + it "returns contacts with sharing true" do expect { alice.contacts.create!(receiving: true, person: FactoryGirl.build(:person)) alice.contacts.create!(receiving: false, person: FactoryGirl.build(:person)) @@ -77,8 +77,8 @@ describe Contact, :type => :model do end end - describe 'only_sharing' do - it 'returns contacts with sharing true and receiving false' do + describe "only_sharing" do + it "returns contacts with sharing true and receiving false" do expect { alice.contacts.create!(receiving: true, sharing: true, person: FactoryGirl.build(:person)) alice.contacts.create!(receiving: false, sharing: true, person: FactoryGirl.build(:person)) @@ -91,7 +91,7 @@ describe Contact, :type => :model do end describe "all_contacts_of_person" do - it 'returns all contacts where the person is the passed in person' do + it "returns all contacts where the person is the passed in person" do person = FactoryGirl.create(:person) contact1 = FactoryGirl.create(:contact, person: person) contact2 = FactoryGirl.create(:contact) @@ -101,7 +101,7 @@ describe Contact, :type => :model do end end - describe '#contacts' do + describe "#contacts" do before do bob.aspects.create(name: "next") bob.aspects(true) @@ -125,7 +125,7 @@ describe Contact, :type => :model do #eve <-> bob <-> alice end - context 'on a contact for a local user' do + context "on a contact for a local user" do before do alice.reload alice.aspects.reload @@ -136,35 +136,35 @@ describe Contact, :type => :model do expect(@contact.contacts.map(&:id)).to match_array([eve.person].concat(@people1).map(&:id)) end - it 'returns nothing if contacts_visible is false in that aspect' do + it "returns nothing if contacts_visible is false in that aspect" do @original_aspect.contacts_visible = false @original_aspect.save expect(@contact.contacts).to eq([]) end - it 'returns no duplicate contacts' do + it "returns no duplicate contacts" do [alice, eve].each {|c| bob.add_contact_to_aspect(bob.contact_for(c.person), bob.aspects.last) } contact_ids = @contact.contacts.map(&:id) expect(contact_ids.uniq).to eq(contact_ids) end end - context 'on a contact for a remote user' do + context "on a contact for a remote user" do let(:contact) { bob.contact_for @people1.first } - it 'returns an empty array' do + it "returns an empty array" do expect(contact.contacts).to eq([]) end end end - context 'requesting' do + context "requesting" do let(:contact) { Contact.new user: user, person: person } let(:user) { build(:user) } let(:person) { build(:person) } - describe '#generate_request' do - it 'makes a request' do + describe "#generate_request" do + it "makes a request" do allow(contact).to receive(:user).and_return(user) request = contact.generate_request @@ -173,8 +173,8 @@ describe Contact, :type => :model do end end - describe '#dispatch_request' do - it 'pushes to people' do + describe "#dispatch_request" do + it "pushes to people" do allow(contact).to receive(:user).and_return(user) m = double() expect(m).to receive(:post) diff --git a/spec/models/conversation_spec.rb b/spec/models/conversation_spec.rb index ad4abb9ecd..fe44e463df 100644 --- a/spec/models/conversation_spec.rb +++ b/spec/models/conversation_spec.rb @@ -2,26 +2,32 @@ # licensed under the Affero General Public License version 3 or later. See # the COPYRIGHT file. -require 'spec_helper' +require "spec_helper" describe Conversation, :type => :model do let(:user1) { alice } let(:user2) { bob } let(:participant_ids) { [user1.contacts.first.person.id, user1.person.id] } - let(:create_hash) {{author: user1.person, participant_ids: participant_ids, - subject: "cool stuff", messages_attributes: [{author: user1.person, text: "hey"}]}} + let(:create_hash) { + {author: user1.person, participant_ids: participant_ids, + subject: "cool stuff", messages_attributes: [{author: user1.person, text: "hey"}]} + } let(:conversation) { Conversation.create(create_hash) } - let(:message_last) { Message.create(author: user2.person, created_at: Time.now + 100, - text: "last", conversation_id: conversation.id) } - let(:message_first) { Message.create(author: user2.person, created_at: Time.now + 100, - text: "first", conversation_id: conversation.id) } - - it 'creates a message on create' do + let(:message_last) { + Message.create(author: user2.person, created_at: Time.now + 100, + text: "last", conversation_id: conversation.id) + } + let(:message_first) { + Message.create(author: user2.person, created_at: Time.now + 100, + text: "first", conversation_id: conversation.id) + } + + it "creates a message on create" do expect { conversation }.to change(Message, :count).by(1) end - describe '#last_author' do - it 'returns the last author to a conversation' do + describe "#last_author" do + it "returns the last author to a conversation" do message_last expect(conversation.reload.last_author.id).to eq(user2.person.id) end @@ -35,36 +41,36 @@ describe Conversation, :type => :model do end end - describe '#first_unread_message' do + describe "#first_unread_message" do before do message_last.increase_unread(user1) end - it 'returns the first unread message if there are unread messages in a conversation' do + it "returns the first unread message if there are unread messages in a conversation" do conversation.first_unread_message(user1) == message_last end - it 'returns nil if there are no unread messages in a conversation' do + it "returns nil if there are no unread messages in a conversation" do conversation.conversation_visibilities.where(person_id: user1.person.id).first.tap {|cv| cv.unread = 0 }.save expect(conversation.first_unread_message(user1)).to be_nil end end - describe '#set_read' do + describe "#set_read" do before do conversation message_first.increase_unread(user1) message_last.increase_unread(user1) end - it 'sets the unread counter to 0' do + it "sets the unread counter to 0" do expect(conversation.conversation_visibilities.where(person_id: user1.person.id).first.unread).to eq(2) conversation.set_read(user1) expect(conversation.conversation_visibilities.where(person_id: user1.person.id).first.unread).to eq(0) end end - context 'transport' do + context "transport" do let(:conversation_message) { conversation.messages.first } let(:xml) { conversation.to_diaspora_xml } @@ -72,53 +78,53 @@ describe Conversation, :type => :model do conversation end - describe 'serialization' do - it 'serializes the message' do + describe "serialization" do + it "serializes the message" do expect(xml.gsub(/\s/, "")).to include(conversation_message.to_xml.to_s.gsub(/\s/, "")) end - it 'serializes the participants' do + it "serializes the participants" do create_hash[:participant_ids].each do |id| expect(xml).to include(Person.find(id).diaspora_handle) end end - it 'serializes the created_at time' do + it "serializes the created_at time" do expect(xml).to include(conversation_message.created_at.to_s) end end - describe '#subscribers' do - it 'returns the recipients for the post owner' do + describe "#subscribers" do + it "returns the recipients for the post owner" do expect(conversation.subscribers(user1)).to eq(user1.contacts.map(&:person)) end end - describe '#receive' do + describe "#receive" do before do Message.destroy_all Conversation.destroy_all end - it 'creates a message' do + it "creates a message" do expect { Diaspora::Parser.from_xml(xml).receive(user1, user2.person) }.to change(Message, :count).by(1) end - it 'creates a conversation' do + it "creates a conversation" do expect { Diaspora::Parser.from_xml(xml).receive(user1, user2.person) }.to change(Conversation, :count).by(1) end - it 'creates appropriate visibilities' do + it "creates appropriate visibilities" do expect { Diaspora::Parser.from_xml(xml).receive(user1, user2.person) }.to change(ConversationVisibility, :count).by(participant_ids.size) end - it 'does not save before receive' do + it "does not save before receive" do expect(Diaspora::Parser.from_xml(xml).persisted?).to be false end - it 'notifies for the message' do + it "notifies for the message" do expect(Notification).to receive(:notify).once Diaspora::Parser.from_xml(xml).receive(user1, user2.person) end @@ -127,8 +133,10 @@ describe Conversation, :type => :model do describe "#invalid parameters" do context "local author" do - let(:invalid_hash) {{author: peter.person, participant_ids: [peter.person.id, user1.person.id], - subject: "cool stuff", messages_attributes: [{author: peter.person, text: "hey"}]}} + let(:invalid_hash) { + {author: peter.person, participant_ids: [peter.person.id, user1.person.id], + subject: "cool stuff", messages_attributes: [{author: peter.person, text: "hey"}]} + } it "is invalid with invalid recipient" do invalid_conversation = Conversation.create(invalid_hash) @@ -140,8 +148,10 @@ describe Conversation, :type => :model do let(:remote_person) { remote_raphael } let(:local_user) { alice } let(:participant_ids) { [remote_person.id, local_user.person.id] } - let(:invalid_hash_remote) {{author: remote_person, participant_ids: participant_ids, - subject: "cool stuff", messages_attributes: [{author: remote_person, text: "hey"}]}} + let(:invalid_hash_remote) { + {author: remote_person, participant_ids: participant_ids, + subject: "cool stuff", messages_attributes: [{author: remote_person, text: "hey"}]} + } it "is invalid with invalid recipient" do invalid_conversation_remote = Conversation.create(invalid_hash_remote) diff --git a/spec/models/conversation_visibilities_spec.rb b/spec/models/conversation_visibilities_spec.rb index 4a2bfed0f9..68a77a2f90 100644 --- a/spec/models/conversation_visibilities_spec.rb +++ b/spec/models/conversation_visibilities_spec.rb @@ -2,16 +2,18 @@ # licensed under the Affero General Public License version 3 or later. See # the COPYRIGHT file. -require 'spec_helper' +require "spec_helper" describe ConversationVisibility, type: :model do let(:user1) { alice } let(:participant_ids) { [user1.contacts.first.person.id, user1.person.id] } - let(:create_hash) {{author: user1.person, participant_ids: participant_ids, subject: "cool stuff", - messages_attributes: [{author: user1.person, text: "hey"}]}} + let(:create_hash) { + {author: user1.person, participant_ids: participant_ids, subject: "cool stuff", + messages_attributes: [{author: user1.person, text: "hey"}]} + } let(:conversation) { Conversation.create(create_hash) } - it 'destroy conversation when no participant' do + it "destroy conversation when no participant" do conversation.conversation_visibilities.each(&:destroy) expect(Conversation).not_to exist(conversation.id) -- GitLab