Files
.circleci
.dependabot
.github
app
bin
config
db
dist
lib
log
nanobox
public
spec
controllers
fabricators
features
fixtures
helpers
lib
mailers
models
admin
concerns
form
web
push_subscription_spec.rb
setting_spec.rb
account_alias_spec.rb
account_conversation_spec.rb
account_domain_block_spec.rb
account_filter_spec.rb
account_migration_spec.rb
account_moderation_note_spec.rb
account_spec.rb
account_stat_spec.rb
account_tag_stat_spec.rb
backup_spec.rb
block_spec.rb
conversation_mute_spec.rb
conversation_spec.rb
custom_emoji_category_spec.rb
custom_emoji_filter_spec.rb
custom_emoji_spec.rb
custom_filter_spec.rb
domain_allow_spec.rb
domain_block_spec.rb
email_domain_block_spec.rb
export_spec.rb
favourite_spec.rb
featured_tag_spec.rb
follow_request_spec.rb
follow_spec.rb
home_feed_spec.rb
identity_spec.rb
import_spec.rb
invite_spec.rb
list_account_spec.rb
list_spec.rb
marker_spec.rb
media_attachment_spec.rb
mention_spec.rb
mute_spec.rb
notification_spec.rb
poll_spec.rb
poll_vote_spec.rb
preview_card_spec.rb
relay_spec.rb
remote_follow_spec.rb
report_filter_spec.rb
report_spec.rb
scheduled_status_spec.rb
session_activation_spec.rb
setting_spec.rb
site_upload_spec.rb
status_pin_spec.rb
status_spec.rb
status_stat_spec.rb
tag_spec.rb
trending_tags_spec.rb
user_invite_request_spec.rb
user_spec.rb
policies
presenters
requests
routing
serializers
services
support
validators
views
workers
rails_helper.rb
spec_helper.rb
streaming
vendor
.buildpacks
.codeclimate.yml
.dockerignore
.editorconfig
.env.nanobox
.env.production.sample
.env.test
.env.vagrant
.eslintignore
.eslintrc.js
.foreman
.gitattributes
.gitignore
.haml-lint.yml
.nanoignore
.nvmrc
.profile
.rspec
.rubocop.yml
.ruby-version
.sass-lint.yml
.slugignore
.yarnclean
AUTHORS.md
Aptfile
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Capfile
Dockerfile
Gemfile
Gemfile.lock
LICENSE
Procfile
Procfile.dev
README.md
Rakefile
Vagrantfile
app.json
babel.config.js
boxfile.yml
config.ru
crowdin.yml
docker-compose.yml
package.json
postcss.config.js
priv-config
scalingo.json
yarn.lock
hometown/spec/models/web/push_subscription_spec.rb
Eugen Rochko b4fb766b23 Add REST API for Web Push Notifications subscriptions ()
- POST /api/v1/push/subscription
- PUT /api/v1/push/subscription
- DELETE /api/v1/push/subscription
- New OAuth scope: "push" (required for the above methods)
2018-05-11 11:49:12 +02:00

17 lines
873 B
Ruby

require 'rails_helper'
RSpec.describe Web::PushSubscription, type: :model do
let(:alerts) { { mention: true, reblog: false, follow: true, follow_request: false, favourite: true } }
let(:push_subscription) { Web::PushSubscription.new(data: { alerts: alerts }) }
describe '#pushable?' do
it 'obeys alert settings' do
expect(push_subscription.send(:pushable?, Notification.new(activity_type: 'Mention'))).to eq true
expect(push_subscription.send(:pushable?, Notification.new(activity_type: 'Status'))).to eq false
expect(push_subscription.send(:pushable?, Notification.new(activity_type: 'Follow'))).to eq true
expect(push_subscription.send(:pushable?, Notification.new(activity_type: 'FollowRequest'))).to eq false
expect(push_subscription.send(:pushable?, Notification.new(activity_type: 'Favourite'))).to eq true
end
end
end