facemock 0.0.2 → 0.0.3

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.
@@ -1,10 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Facemock::FbGraph::Application::User::Right do
4
- let(:table_name) { "user_rights" }
5
-
6
- describe '.table_name' do
7
- subject { Facemock::FbGraph::Application::User::Right.table_name }
8
- it { is_expected.to eq table_name }
9
- end
10
- end
@@ -1,131 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Facemock::FbGraph::Application::User do
4
- let(:table_name) { "users" }
5
-
6
- let(:db_name) { ".test" }
7
- let(:adapter) { "sqlite3" }
8
- let(:db_directory) { File.expand_path("../../../../db", __FILE__) }
9
- let(:db_filepath) { File.join(db_directory, "#{db_name}.#{adapter}") }
10
- let(:options) { { identifier: 100000000000001,
11
- name: "test user",
12
- email: "test@example.com",
13
- password: "testpass",
14
- installed: true,
15
- access_token: "test_token",
16
- permissions: "email, read_stream" } }
17
-
18
- before do
19
- stub_const("Facemock::Config::Database::DEFAULT_DB_NAME", db_name)
20
- Facemock::Config.database
21
- end
22
- after { Facemock::Config.database.drop }
23
-
24
- it 'should have a rigth class' do
25
- expect(Facemock::FbGraph::Application::User::Right).to be_truthy
26
- expect(Facemock::FbGraph::Application::User::Right.ancestors).to include ActiveRecord::Base
27
- end
28
-
29
- describe '.table_name' do
30
- subject { Facemock::FbGraph::Application::User.table_name }
31
- it { is_expected.to eq table_name }
32
- end
33
-
34
- describe '#new' do
35
- context 'without options' do
36
- subject { lambda { Facemock::FbGraph::Application::User.new } }
37
- it { is_expected.not_to raise_error }
38
-
39
- it 'should be initialized attribute' do
40
- user = Facemock::FbGraph::Application::User.new
41
-
42
- expect(user.identifier).to be_kind_of Integer
43
- expect(user.name).to be_kind_of String
44
- expect(user.email).to be_kind_of String
45
- expect(user.password).to be_kind_of String
46
- expect(user.access_token).to be_kind_of String
47
- expect(user.permissions).to be_kind_of Array
48
-
49
- expect(user.identifier).to be >= 100000000000000
50
- expect(user.name).not_to be_empty
51
- expect(user.password).not_to be_empty
52
- expect(user.installed).to be false
53
- expect(user.access_token).not_to be_empty
54
- expect(user.permissions).to be_empty
55
- end
56
- end
57
-
58
- context 'with all options' do
59
- it 'should be initialized attribute by options' do
60
- user = Facemock::FbGraph::Application::User.new(options)
61
- options.each do |attribute, value|
62
- if attribute.eql? :permissions
63
- expect(user.send(attribute)).to include :email
64
- expect(user.send(attribute)).to include :read_stream
65
- else
66
- expect(user.send(attribute)).to eq value
67
- end
68
- end
69
-
70
- user.rights.each do |right|
71
- expect(options[:permissions]).to include right.name
72
- end
73
- end
74
- end
75
-
76
- context 'with only name option' do
77
- before { @options = { name: "test_user" } }
78
-
79
- subject { @user = Facemock::FbGraph::Application::User.new(@options).email }
80
- it { is_expected.to eq "#{@options[:name]}@example.com" }
81
- end
82
- end
83
-
84
- describe '#fetch' do
85
- before { @user = Facemock::FbGraph::Application::User.new }
86
-
87
- context 'when user does not save' do
88
- subject { @user.fetch }
89
- it { is_expected.to eq nil }
90
- end
91
-
92
- context 'when user already saved' do
93
- before do
94
- @user.save!
95
- end
96
-
97
- subject { @user.fetch }
98
- it { is_expected.not_to eq nil }
99
-
100
- describe '.id' do
101
- subject { @user.fetch.id }
102
- it { is_expected.to eq @user.id }
103
- end
104
- end
105
- end
106
-
107
- describe '#revoke!' do
108
- context 'when does not have permission' do
109
- before do
110
- @user = Facemock::FbGraph::Application::User.new
111
- @user.save!
112
- end
113
-
114
- subject { lambda { @user.revoke! } }
115
- it { is_expected.not_to raise_error }
116
- end
117
-
118
- context 'when have some permissions' do
119
- before do
120
- @user = Facemock::FbGraph::Application::User.new({permissions: "email, read_stream"})
121
- @user.save!
122
- end
123
-
124
- it 'should destroy permissions' do
125
- @user.revoke!
126
- expect(Facemock::FbGraph::Application::User::Right.find_by_user_id(@user.id)).to be_nil
127
- expect(@user.permissions).to be_empty
128
- end
129
- end
130
- end
131
- end
@@ -1,140 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Facemock::FbGraph::Application do
4
- let(:table_name) { "applications" }
5
-
6
- let(:facebook_app_id) { 100000000000000 }
7
- let(:facebook_app_secret) { "test_secret" }
8
- let(:access_token) { "access_token" }
9
-
10
- let(:db_name) { ".test" }
11
- let(:adapter) { "sqlite3" }
12
- let(:db_directory) { File.expand_path("../../../../db", __FILE__) }
13
- let(:db_filepath) { File.join(db_directory, "#{db_name}.#{adapter}") }
14
-
15
- it 'should have a user class' do
16
- expect(Facemock::FbGraph::Application::User).to be_truthy
17
- expect(Facemock::FbGraph::Application::User.ancestors).to include ActiveRecord::Base
18
- end
19
-
20
- it 'should have a users class' do
21
- expect(Facemock::FbGraph::Application::TestUsers).to be_truthy
22
- expect(Facemock::FbGraph::Application::TestUsers.ancestors).to include Array
23
- end
24
-
25
- describe '.table_name' do
26
- subject { Facemock::FbGraph::Application.table_name }
27
- it { is_expected.to eq table_name }
28
- end
29
-
30
- before do
31
- stub_const("Facemock::Config::Database::DEFAULT_DB_NAME", db_name)
32
- Facemock::Config.database
33
- end
34
- after { Facemock::Config.database.drop }
35
-
36
- describe '#new' do
37
- context 'without argument' do
38
- subject { lambda { Facemock::FbGraph::Application.new } }
39
- it { is_expected.to raise_error ArgumentError }
40
- end
41
-
42
- context 'with facebook app id and secret' do
43
- before { @app = Facemock::FbGraph::Application.new(facebook_app_id, secret: facebook_app_secret) }
44
-
45
- describe '.id' do
46
- subject { @app.id }
47
- it { is_expected.to eq facebook_app_id }
48
- end
49
-
50
- describe '.secreet' do
51
- subject { @app.secret }
52
- it { is_expected.to eq facebook_app_secret }
53
- end
54
- end
55
-
56
- context 'with facebook app id and secret' do
57
- before do
58
- options = { secret: facebook_app_secret }
59
- Facemock::FbGraph.on
60
- @app = Facemock::FbGraph::Application.new(facebook_app_id, options)
61
- end
62
-
63
- describe '.id' do
64
- subject { @app.id }
65
- it { is_expected.to eq facebook_app_id }
66
- end
67
-
68
- describe '.secreet' do
69
- subject { @app.secret }
70
- it { is_expected.to eq facebook_app_secret }
71
- end
72
- end
73
-
74
- context 'with app symbole and access_token' do
75
- before { @app = Facemock::FbGraph::Application.new(:app, access_token: access_token) }
76
-
77
- describe '.id' do
78
- subject { @app.id }
79
- it { is_expected.to be_kind_of Integer }
80
- end
81
-
82
- describe '.secreet' do
83
- subject { @app.secret }
84
- it { is_expected.not_to be_empty }
85
- end
86
- end
87
- end
88
-
89
- describe '#fetch' do
90
- before { @app = Facemock::FbGraph::Application.new(facebook_app_id, secret: facebook_app_secret) }
91
-
92
- describe '.id' do
93
- subject { @app.fetch.identifier }
94
- it { is_expected.to eq @app.identifier }
95
- end
96
-
97
- describe '.secret' do
98
- subject { @app.fetch.secret }
99
- it { is_expected.to eq @app.secret }
100
- end
101
- end
102
-
103
- describe '#test_user!' do
104
- before { @app = Facemock::FbGraph::Application.new(facebook_app_id, secret: facebook_app_secret) }
105
-
106
- it 'should created user' do
107
- expect(Facemock::FbGraph::Application::User.all).to be_empty
108
- user = @app.test_user!
109
- expect(Facemock::FbGraph::Application::User.find_by_id(user.id)).to eq user
110
- end
111
- end
112
-
113
- describe '#test_users' do
114
- before do
115
- @app = Facemock::FbGraph::Application.new(facebook_app_id, secret: facebook_app_secret)
116
- end
117
-
118
- context 'when test_user is not created' do
119
- subject { @app.test_users }
120
-
121
- it { is_expected.to be_kind_of Facemock::FbGraph::Application::TestUsers }
122
- it { is_expected.to be_empty }
123
- end
124
-
125
- context 'when test_user is created' do
126
- before do
127
- @user = @app.test_user!
128
- end
129
-
130
- subject { @app.test_users }
131
- it { is_expected.to be_kind_of Facemock::FbGraph::Application::TestUsers }
132
- it { is_expected.not_to be_empty }
133
-
134
- describe '.first.id' do
135
- subject { @app.test_users.first.id }
136
- it { is_expected.to eq @user.id }
137
- end
138
- end
139
- end
140
- end
@@ -1,13 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Facemock::FbGraph::Errors do
4
- before do
5
- Facemock::FbGraph.off
6
- end
7
-
8
- it 'should have a error module' do
9
- expect(Facemock::FbGraph::Errors::Error).to be_truthy
10
- expect(Facemock::FbGraph::Errors::Error.ancestors).to include StandardError
11
- expect(Facemock::FbGraph::Errors::InvalidToken.ancestors).to include FbGraph::InvalidToken
12
- end
13
- end
@@ -1,39 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Facemock::FbGraph::User do
4
- let(:facebook_app_id) { "100000000000000" }
5
- let(:facebook_app_secret) { "test_secret" }
6
- let(:db_name) { ".test" }
7
- let(:adapter) { "sqlite3" }
8
- let(:table_names) { [:users, :user_rights] }
9
- let(:db_directory) { File.expand_path("../../../../db", __FILE__) }
10
- let(:db_filepath) { File.join(db_directory, "#{db_name}.#{adapter}") }
11
-
12
- before do
13
- stub_const("Facemock::Config::Database::DEFAULT_DB_NAME", db_name)
14
- Facemock::Config.database
15
- end
16
- after { Facemock::Config.database.drop }
17
-
18
- describe '.me' do
19
- context 'when access_token is correct' do
20
- before do
21
- app = Facemock::FbGraph::Application.new(facebook_app_id, secret: facebook_app_secret)
22
- @user = app.test_user!
23
- @access_token = @user.access_token
24
- end
25
-
26
- it 'can get user' do
27
- user = Facemock::FbGraph::User.me(@access_token)
28
- Facemock::FbGraph::Application::User.column_names.each do |column|
29
- expect(user.send(column)).to eq @user.send(column) unless column == "created_at"
30
- end
31
- end
32
- end
33
-
34
- context 'when access_token is incorrect' do
35
- subject { Facemock::FbGraph::User.me('incorrect_token') }
36
- it { is_expected.to eq nil }
37
- end
38
- end
39
- end
@@ -1,54 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Facemock::FbGraph do
4
- let(:db_name) { ".test" }
5
-
6
- it 'should have a application class' do
7
- expect(Facemock::FbGraph::Application).to be_truthy
8
- end
9
-
10
- it 'should have a errors module' do
11
- expect(Facemock::FbGraph::Errors).to be_truthy
12
- end
13
-
14
- it 'should have a user module' do
15
- expect(Facemock::FbGraph::User).to be_truthy
16
- end
17
-
18
- before do
19
- stub_const("Facemock::Config::Database::DEFAULT_DB_NAME", db_name)
20
- end
21
- after { Facemock::Config.database.drop }
22
-
23
- describe '#on' do
24
- subject { Facemock::FbGraph.on }
25
- it { is_expected.to be_truthy }
26
-
27
- context 'FbGraph' do
28
- before { Facemock::FbGraph.on }
29
- it { expect(::FbGraph).to eq Facemock::FbGraph }
30
- it { expect( lambda { Facemock::FbGraph.on } ).not_to raise_error }
31
- end
32
- end
33
-
34
- describe '#off' do
35
- subject { Facemock::FbGraph.off }
36
- it { is_expected.to be_truthy }
37
-
38
- context 'FbGraph' do
39
- before { Facemock::FbGraph.off }
40
- it { expect(FbGraph).to eq FbGraph }
41
- it { expect( lambda { Facemock::FbGraph.off } ).not_to raise_error }
42
-
43
- context 'when mock is on' do
44
- before do
45
- Facemock::FbGraph.on
46
- Facemock::FbGraph.off
47
- end
48
-
49
- subject { ::FbGraph }
50
- it { is_expected.to eq FbGraph }
51
- end
52
- end
53
- end
54
- end
@@ -1,72 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Facemock do
4
- let(:version) { "0.0.2" }
5
- let(:db_name) { ".test" }
6
-
7
- describe 'VERSION' do
8
- subject { Facemock::VERSION }
9
- it { is_expected.to eq version }
10
- end
11
-
12
- it 'should have a config module' do
13
- expect(Facemock::Config).to be_truthy
14
- end
15
-
16
- it 'should have a fb_graph module' do
17
- expect(Facemock::FbGraph).to be_truthy
18
- end
19
-
20
- it 'should have a errors module' do
21
- expect(Facemock::Errors).to be_truthy
22
- end
23
-
24
- before do
25
- stub_const("Facemock::Config::Database::DEFAULT_DB_NAME", db_name)
26
- end
27
- after { Facemock::Config.database.drop }
28
-
29
- describe '#on' do
30
- subject { Facemock.on }
31
- it { is_expected.to be_truthy }
32
-
33
- context 'FbGraph' do
34
- context 'without option' do
35
- before { Facemock.on }
36
- it { expect(::FbGraph).to eq Facemock::FbGraph }
37
- it { expect( lambda { Facemock.on } ).not_to raise_error }
38
- end
39
-
40
- context 'with database_name option' do
41
- before do
42
- @options = { database_name: db_name}
43
- Facemock.on(@options)
44
- end
45
- it { expect(::FbGraph).to eq Facemock::FbGraph }
46
- it { expect( lambda { Facemock.on } ).not_to raise_error }
47
- it { expect( lambda { Facemock.on(@options) } ).not_to raise_error }
48
- end
49
- end
50
- end
51
-
52
- describe '#off' do
53
- subject { Facemock.off }
54
- it { is_expected.to be_truthy }
55
-
56
- context 'FbGraph' do
57
- before { Facemock.off }
58
- it { expect(FbGraph).to eq FbGraph }
59
- it { expect( lambda { Facemock.off } ).not_to raise_error }
60
-
61
- context 'when Mock is on' do
62
- before do
63
- Facemock.on
64
- Facemock.off
65
- end
66
-
67
- subject { ::FbGraph }
68
- it { is_expected.to eq FbGraph }
69
- end
70
- end
71
- end
72
- end
data/spec/spec_helper.rb DELETED
@@ -1,15 +0,0 @@
1
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
-
3
- require 'simplecov'
4
- require 'coveralls'
5
-
6
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
7
- SimpleCov::Formatter::HTMLFormatter,
8
- Coveralls::SimpleCov::Formatter
9
- ]
10
- SimpleCov.start do
11
- add_filter '.bundle/'
12
- add_filter '/spec/'
13
- end
14
-
15
- require 'facemock'