notifiable-rails 0.15.1 → 0.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 517b2ed6174e9bd62e6e780f4f83b4e8615a33df
4
- data.tar.gz: e6d16036d447f3ce4e252bd5338fab1ca86e7384
3
+ metadata.gz: 4e5c9e0517d0c144b71ee217a4d01ba004f2d535
4
+ data.tar.gz: 2294beb4bd3cded57e19c4c95039311c958f52af
5
5
  SHA512:
6
- metadata.gz: abe080484c13af1cff08c15ebf90ebcde24204180061ff91222a2336e4f97329d3aee1830d623d248be179f220b5983b1524e9d952505cfd18e97cca2a24a46a
7
- data.tar.gz: 26d5b31cf9d864c182cdaf9088c5f9a83ab8bdd6c09ef6da254c9cd3f5b14fe5e14c41b513fa36d9c681e1003a52c99b58b5b37e77360e430364ef8751d3bca0
6
+ metadata.gz: f1f8a84df5cb874e8576323c8985a6765c821e62d49ac725e509b64033282c65ab751b8536051c408021cc73342967baf0eaa6ff55c3da8169c2c44a7ed35bb4
7
+ data.tar.gz: de8e5cab899553948f08ef806228eea319c1cd85fafa899536ab93f9229adc525b9b74be1e5b665c127fd40b4780f7d5ac581386e5f5f42e68655641e1d27c15
@@ -13,19 +13,11 @@ module Notifiable
13
13
  @device_token = DeviceToken.find_by(:token => params[:token])
14
14
  @device_token = DeviceToken.new unless @device_token
15
15
 
16
- if @device_token.update_attributes(device_token_params)
17
- render :json => { :id => @device_token.id }, :status => :ok
18
- else
19
- render :json => { :errors => @device_token.errors.full_messages }, :status => :unprocessable_entity
20
- end
16
+ perform_update(device_token_params)
21
17
  end
22
18
 
23
19
  def update
24
- if @device_token.update_attributes(device_token_params)
25
- head :status => :ok
26
- else
27
- render :json => { :errors => @device_token.errors.full_messages }, :status => :unprocessable_entity
28
- end
20
+ perform_update(device_token_params)
29
21
  end
30
22
 
31
23
  def destroy
@@ -36,7 +28,15 @@ module Notifiable
36
28
  end
37
29
  end
38
30
 
39
- private
31
+ private
32
+ def perform_update(params)
33
+ if @device_token.update_attributes(params)
34
+ render :json => @device_token.to_json(:only => Notifiable.api_device_token_params.push(:id)), :status => :ok
35
+ else
36
+ render :json => { :errors => @device_token.errors.full_messages }, :status => :unprocessable_entity
37
+ end
38
+ end
39
+
40
40
  def device_token_params
41
41
  device_token_params = params.permit(Notifiable.api_device_token_params)
42
42
 
@@ -1,3 +1,3 @@
1
1
  module Notifiable
2
- VERSION = "0.15.1"
2
+ VERSION = "0.15.2"
3
3
  end
@@ -15,7 +15,8 @@ describe Notifiable::DeviceTokensController do
15
15
  it "creates a new device token for an existing user" do
16
16
  post :create, :token => "ABC123", :user_email => user1.email, :provider => :apns, :app_id => app.id
17
17
 
18
- expect(response).to be_success
18
+ response.status.should == 200
19
+ Notifiable.api_device_token_params.push('id').each{|p| json.should have_key(p.to_s)}
19
20
 
20
21
  Notifiable::DeviceToken.count.should == 1
21
22
  user1.device_tokens.count.should == 1
@@ -28,7 +29,8 @@ describe Notifiable::DeviceTokensController do
28
29
  it "creates a new device token for an anonymous user" do
29
30
  post :create, :token => "ABC123", :provider => :apns, :app_id => app.id
30
31
 
31
- expect(response).to be_success
32
+ response.status.should == 200
33
+ Notifiable.api_device_token_params.push('id').each{|p| json.should have_key(p.to_s)}
32
34
 
33
35
  Notifiable::DeviceToken.count.should == 1
34
36
  dt = Notifiable::DeviceToken.first
@@ -41,7 +43,8 @@ describe Notifiable::DeviceTokensController do
41
43
  it "uses an existing token" do
42
44
  post :create, :token => user2_device_token.token, :provider => user2_device_token.provider, :app_id => app.id, :user_email => user2.email
43
45
 
44
- expect(response).to be_success
46
+ response.status.should == 200
47
+ Notifiable.api_device_token_params.push('id').each{|p| json.should have_key(p.to_s)}
45
48
 
46
49
  Notifiable::DeviceToken.count.should == 1
47
50
  user2.device_tokens.count.should == 1
@@ -54,7 +57,7 @@ describe Notifiable::DeviceTokensController do
54
57
  it "doesn't create a token if no app is specified" do
55
58
  post :create, :token => "ABC123", :user_email => user1.email, :provider => :mpns
56
59
 
57
- expect(response.status).to eq(422)
60
+ response.status.should == 422
58
61
  Notifiable::DeviceToken.count.should == 0
59
62
  end
60
63
 
@@ -62,7 +65,9 @@ describe Notifiable::DeviceTokensController do
62
65
 
63
66
  post :create, :token => user2_device_token.token, :provider => :mpns
64
67
 
65
- expect(response.status).to eq(200)
68
+ response.status.should == 200
69
+ Notifiable.api_device_token_params.push('id').each{|p| json.should have_key(p.to_s)}
70
+
66
71
  Notifiable::DeviceToken.count.should == 1
67
72
  dt = Notifiable::DeviceToken.first
68
73
  dt.token.should eql user2_device_token.token
@@ -72,7 +77,8 @@ describe Notifiable::DeviceTokensController do
72
77
  it "updates token for an existing device token" do
73
78
  put :update, :id => user2_device_token.id, :token => "DEF456", :user_email => user2.email
74
79
 
75
- expect(response.status).to eq(200)
80
+ response.status.should == 200
81
+ Notifiable.api_device_token_params.each{|p| json.should have_key(p.to_s)}
76
82
 
77
83
  Notifiable::DeviceToken.count.should == 1
78
84
  dt = Notifiable::DeviceToken.first
@@ -89,21 +95,23 @@ describe Notifiable::DeviceTokensController do
89
95
  it "doesn't delete token unless authorised" do
90
96
  delete :destroy, :id => user2_device_token.id
91
97
 
92
- expect(response.status).to eq(401)
98
+ response.status.should == 401
99
+
93
100
  Notifiable::DeviceToken.where(:token => user2_device_token.token).count.should == 1
94
101
  end
95
102
 
96
103
  it "doesn't delete tokens of other users" do
97
104
  delete :destroy, :id => user2_device_token.id, :user_email => user1.email
98
105
 
99
- expect(response.status).to eq(401)
106
+ response.status.should == 401
107
+
100
108
  Notifiable::DeviceToken.where(:token => user2_device_token.token).count.should == 1
101
109
  end
102
110
 
103
111
  it "doesnt delete tokens if they don't exist" do
104
112
  delete :destroy, :id => 59, :user_email => user1.email
105
113
 
106
- expect(response.status).to eq(404)
114
+ response.status.should == 404
107
115
  Notifiable::DeviceToken.where(:token => user2_device_token.token).count.should == 1
108
116
  end
109
117
 
data/spec/spec_helper.rb CHANGED
@@ -29,6 +29,7 @@ RSpec.configure do |config|
29
29
  config.infer_base_class_for_anonymous_controllers = false
30
30
  config.order = "random"
31
31
  config.include EngineControllerTestMonkeyPatch, :type => :controller
32
+ config.include Requests::JsonHelpers, :type => :controller
32
33
 
33
34
  config.before(:each) {
34
35
  DatabaseCleaner.start
@@ -0,0 +1,7 @@
1
+ module Requests
2
+ module JsonHelpers
3
+ def json
4
+ @json ||= JSON.parse(response.body)
5
+ end
6
+ end
7
+ end