require 'spec_helper' describe "Notification Subpanel", :js => true, :type => :feature, :capybara_feature => true do subject { page } let(:user) { FactoryGirl.create(:user, last_jam_locidispid: 1) } describe "user with no notifications" do before(:each) do fast_signin(user, "/client") end it "lists no notifications" do open_notifications expect(page).to have_selector("#{NOTIFICATION_PANEL} li.notification-entry", count: 0) end end describe "user with 1 notification" do let!(:other) { FactoryGirl.create(:user, last_jam_locidispid: 1) } let!(:msg1) {FactoryGirl.create(:notification_text_message, source_user: other, target_user: user) } before(:each) do fast_signin(user, "/client") end it "lists 1 notifications" do open_notifications expect(page).to have_selector("#{NOTIFICATION_PANEL} li.notification-entry", count: 1) end end end describe "Notification Toast", js: true, type: :feature, capybara_feature: true do let(:user) { FactoryGirl.create(:user) } let(:user1) { FactoryGirl.create(:user) } let(:user2) { FactoryGirl.create(:user) } let(:user3) { FactoryGirl.create(:user) } before(:each) do fast_signin(user, "/client") end it "popup 3 toasts" do wait_until_curtain_gone create_friend_request(user1, user) create_friend_request(user2, user) create_friend_request(user3, user) expect(page).to have_selector(".notification", count: 3) end def create_friend_request(source_user, targe_user) req = FriendRequest.new req.user_id = source_user.id req.friend_id = targe_user.id req.save! Notification.send_friend_request(req.id, source_user.id, targe_user.id) end end