File tree Expand file tree Collapse file tree 4 files changed +61
-0
lines changed Expand file tree Collapse file tree 4 files changed +61
-0
lines changed Original file line number Diff line number Diff line change @@ -365,6 +365,22 @@ user.destroy_identity
365365# => true
366366```
367367
368+ #### Setting a Users Badge
369+
370+ ``` ruby
371+ user = platform.users.find(" user_id" )
372+ user.set_badge(10 )
373+ # => true
374+ ```
375+
376+ #### Retrieving a Users Badge
377+
378+ ``` ruby
379+ user = platform.users.find(" user_id" )
380+ user.badge
381+ # => { "external_unread_count" => 13, "unread_conversation_count" => 10, "unread_message_count" => 50 }
382+ ```
383+
368384
369385#### Generating Identity Tokens ####
370386See: [ the official authentication guide] ( https://developer.layer.com/docs/android/guides#authentication )
Original file line number Diff line number Diff line change @@ -41,6 +41,15 @@ def destroy_identity
4141 client . delete ( identity_url )
4242 end
4343
44+ def set_badge ( badge_count )
45+ body = { external_unread_count : badge_count }
46+ client . put ( "#{ url } /badge" , body : body . to_json )
47+ end
48+
49+ def badge
50+ client . get ( "#{ url } /badge" )
51+ end
52+
4453 private
4554
4655 def identity_url
Original file line number Diff line number Diff line change 121121 user . destroy_identity
122122 end
123123 end
124+
125+ describe "#set_badge" do
126+ let ( :badge_count ) { { external_unread_count : 5 } }
127+
128+ it "should set the badge count for a user" do
129+ allow ( http_client ) . to receive ( :put ) . and_return ( nil )
130+ expect ( http_client ) . to receive ( :put ) . with (
131+ "users/#{ user . id } /badge" ,
132+ body : badge_count . to_json
133+ )
134+ user . set_badge ( 5 )
135+ end
136+ end
137+
138+ describe "#badge" do
139+ before do
140+ allow ( http_client ) . to receive ( :get ) . and_return ( user_badge )
141+ expect ( http_client ) . to receive ( :get ) . with ( "users/#{ user . id } /badge" )
142+ end
143+
144+ it "should retrieve badge for a user" do
145+ user . badge
146+ end
147+
148+ it "should return hash of badge values" do
149+ expect ( user . badge ) . to be_instance_of ( Hash )
150+ end
151+ end
124152end
Original file line number Diff line number Diff line change @@ -91,4 +91,12 @@ def user_identity_operations
9191 { operation : "set" , property : "metadata.level" , value : "2" }
9292 ]
9393 end
94+
95+ def user_badge
96+ {
97+ external_unread_count : 13 ,
98+ unread_conversation_count : 10 ,
99+ unread_message_count : 50
100+ }
101+ end
94102end
You can’t perform that action at this time.
0 commit comments