Skip to content

Commit

Permalink
[ci] Added feature spec for user notifications settings
Browse files Browse the repository at this point in the history
  • Loading branch information
Moises Deniz Aleman committed Feb 24, 2016
1 parent a7276fb commit 3a0ca5c
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/api/spec/factories/groups.rb
@@ -0,0 +1,6 @@
FactoryGirl.define do
factory :group do
title { Faker::Internet.user_name(nil, %w(. -)) }
email { Faker::Internet.email }
end
end
7 changes: 7 additions & 0 deletions src/api/spec/factories/groups_user.rb
@@ -0,0 +1,7 @@
FactoryGirl.define do
factory :groups_user do
user
group
email { 1 }
end
end
6 changes: 6 additions & 0 deletions src/api/spec/factories/users.rb
Expand Up @@ -11,6 +11,12 @@
factory :admin_user do
roles { [Role.find_by_title('admin')] }
end

factory :user_with_groups do
after(:create) do |user|
user.groups_users << create(:groups_user, group: create(:group))
end
end
end

factory :deleted_user do
Expand Down
@@ -0,0 +1,49 @@
require "browser_helper"

RSpec.feature "User's notifications settings", type: :feature, js: true do
let!(:user) { create(:confirmed_user, login: 'moi') }
let!(:user_with_groups) { create(:user_with_groups, login: 'moi_wg') }

scenario "when a user is in some group" do
login user_with_groups
visit user_notifications_path
group_title = user_with_groups.groups.first.title

expect(page).to have_content 'Get mails if in group'
expect(page).to have_checked_field(group_title)
uncheck group_title
click_button 'Update'
expect(page).to have_content 'Notifications settings updated'
expect(page).to have_content 'Get mails if in group'
expect(page).to have_unchecked_field(group_title)
end

scenario "when a user isn't in any group" do
login user
visit user_notifications_path

expect(page).not_to have_content 'Get mails if in group'
end

scenario "when a user have some events" do
login user
visit user_notifications_path

expect(page).to have_content 'Events to get email for'
expect(page).to have_unchecked_field 'Event::RequestStatechange_creator'
check 'Event::RequestStatechange_creator'
check 'Event::CommentForPackage_maintainer'
check 'Event::CommentForPackage_commenter'
check 'Event::CommentForProject_maintainer'
check 'Event::CommentForProject_commenter'
click_button 'Update'

expect(page).to have_content 'Notifications settings updated'
expect(page).to have_content 'Events to get email for'
expect(page).to have_checked_field 'Event::RequestStatechange_creator'
expect(page).to have_checked_field 'Event::CommentForPackage_maintainer'
expect(page).to have_checked_field 'Event::CommentForPackage_commenter'
expect(page).to have_checked_field 'Event::CommentForProject_maintainer'
expect(page).to have_checked_field 'Event::CommentForProject_commenter'
end
end

0 comments on commit 3a0ca5c

Please sign in to comment.