/
permissions_spec.rb
92 lines (81 loc) · 2.9 KB
/
permissions_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
require 'spec_helper'
describe FbGraph::Connections::Permissions do
describe '#permissions' do
context 'v1 API' do
let :permissions do
mock_graph :get, 'me/permissions', 'users/permissions/me_private', :access_token => 'access_token' do
FbGraph::User.me('access_token').permissions
end
end
it 'should be an Array of Symbol' do
permissions.should be_instance_of Array
permissions.should_not be_blank
permissions.each do |permission|
permission.should be_instance_of Symbol
end
end
context 'when blank' do
it 'should return blank array' do
mock_graph :get, 'me/permissions', 'users/permissions/blank', :access_token => 'access_token' do
permissions = FbGraph::User.me('access_token').permissions
permissions.should == []
end
end
end
end
context 'v2 API' do
context 'using global config' do
before(:each) do
FbGraph.v2!
end
after(:each) do
FbGraph.v1!
end
it 'should be an Array of Hash' do
mock_graph :get, 'v2.0/me/permissions', 'users/permissions/v2', :access_token => 'access_token' do
permissions = FbGraph::User.me('access_token').permissions
permissions.should be_instance_of Array
permissions.should_not be_blank
permissions.each do |permission|
permission.should be_instance_of Symbol
end
end
end
context 'when blank' do
it 'should return blank array' do
mock_graph :get, 'v2.0/me/permissions', 'users/permissions/blank', :access_token => 'access_token' do
permissions = FbGraph::User.me('access_token').permissions
permissions.should == []
end
end
end
end
context 'using local config' do
it 'should be an Array of Hash' do
mock_graph :get, 'v2.0/me/permissions', 'users/permissions/v2', :access_token => 'access_token' do
permissions = FbGraph::User.me('access_token').permissions(:api_version => 'v2.0')
permissions.should be_instance_of Array
permissions.should_not be_blank
permissions.each do |permission|
permission.should be_instance_of Symbol
end
end
end
end
end
end
describe '#revoke!' do
it 'should DELETE /:user_id/permissions' do
mock_graph :delete, 'me/permissions', 'true', :access_token => 'access_token' do
FbGraph::User.me('access_token').revoke!
end
end
it 'should support revoking specific permission' do
mock_graph :delete, 'me/permissions', 'true', :access_token => 'access_token', :params => {
:permission => :email
} do
FbGraph::User.me('access_token').revoke! :email
end
end
end
end