moodle_rb 1.0.2 → 1.1.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.
- checksums.yaml +7 -0
- data/.github/workflows/build.yml +36 -0
- data/.github/workflows/publish.yml +27 -0
- data/Dockerfile +10 -0
- data/README.md +73 -1
- data/docker-compose.yml +6 -0
- data/lib/moodle_rb/categories.rb +12 -11
- data/lib/moodle_rb/client.rb +10 -8
- data/lib/moodle_rb/courses.rb +59 -13
- data/lib/moodle_rb/enrolments.rb +34 -9
- data/lib/moodle_rb/grades.rb +9 -14
- data/lib/moodle_rb/users.rb +35 -19
- data/lib/moodle_rb/utility.rb +7 -0
- data/lib/moodle_rb/version.rb +1 -1
- data/lib/moodle_rb.rb +2 -2
- data/moodle_rb.gemspec +2 -3
- data/spec/cassettes/MoodleRb_Categories/_create/.yml +19 -19
- data/spec/cassettes/MoodleRb_Categories/_create/when_validation_fails/.yml +19 -19
- data/spec/cassettes/MoodleRb_Categories/_destroy/when_using_invalid_token/.yml +39 -0
- data/spec/cassettes/MoodleRb_Categories/_destroy/when_using_valid_token/.yml +76 -0
- data/spec/cassettes/MoodleRb_Categories/_index/.yml +19 -19
- data/spec/cassettes/MoodleRb_Categories/_index/when_using_invalid_token/.yml +39 -0
- data/spec/cassettes/MoodleRb_Categories/_show/when_using_invalid_token/.yml +39 -0
- data/spec/cassettes/MoodleRb_Client/_site_info/when_invalid_token/.yml +20 -20
- data/spec/cassettes/MoodleRb_Client/_site_info/when_valid_token/.yml +19 -19
- data/spec/cassettes/MoodleRb_Courses/_contents/when_using_invalid_token/.yml +52 -0
- data/spec/cassettes/MoodleRb_Courses/_contents/when_using_valid_token/.yml +52 -0
- data/spec/cassettes/MoodleRb_Courses/_create/.yml +19 -19
- data/spec/cassettes/MoodleRb_Courses/_create/when_validation_fails/.yml +36 -36
- data/spec/cassettes/MoodleRb_Courses/_destroy/when_using_invalid_token/.yml +39 -0
- data/spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/.yml +75 -0
- data/spec/cassettes/MoodleRb_Courses/_destroy/when_using_valid_token/when_using_invalid_course_id/.yml +39 -0
- data/spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_invalid_token/.yml +39 -0
- data/spec/cassettes/MoodleRb_Courses/_enrolled_users/when_using_valid_token/.yml +75 -0
- data/spec/cassettes/MoodleRb_Courses/_grade_items/when_using_invalid_token/.yml +52 -0
- data/spec/cassettes/MoodleRb_Courses/_grade_items/when_using_valid_token/.yml +56 -0
- data/spec/cassettes/MoodleRb_Courses/_index/.yml +19 -19
- data/spec/cassettes/MoodleRb_Courses/_index/when_using_invalid_token/.yml +39 -0
- data/spec/cassettes/MoodleRb_Courses/_module/when_using_invalid_token/.yml +52 -0
- data/spec/cassettes/MoodleRb_Courses/_module/when_using_valid_token/.yml +51 -0
- data/spec/cassettes/MoodleRb_Courses/_show/.yml +19 -19
- data/spec/cassettes/MoodleRb_Courses/_show/when_using_invalid_token/.yml +39 -0
- data/spec/cassettes/MoodleRb_Enrolments/_create/.yml +19 -19
- data/spec/cassettes/MoodleRb_Enrolments/_create/when_user_or_course_id_is_invalid/.yml +19 -19
- data/spec/cassettes/MoodleRb_Enrolments/_destroy/.yml +51 -0
- data/spec/cassettes/MoodleRb_Enrolments/_destroy/when_user_or_course_id_is_invalid/.yml +52 -0
- data/spec/cassettes/MoodleRb_Grades/_by_assignment/.yml +19 -19
- data/spec/cassettes/MoodleRb_Grades/_by_course/.yml +19 -19
- data/spec/cassettes/MoodleRb_Grades/_by_course/when_invalid_parameters/.yml +19 -19
- data/spec/cassettes/MoodleRb_Users/_create/.yml +19 -19
- data/spec/cassettes/MoodleRb_Users/_create/when_missing_required_parameters/.yml +19 -19
- data/spec/cassettes/MoodleRb_Users/_destroy/.yml +19 -19
- data/spec/cassettes/MoodleRb_Users/_destroy/when_id_does_not_exist/.yml +19 -19
- data/spec/cassettes/MoodleRb_Users/_destroy/when_using_invalid_token/.yml +39 -0
- data/spec/cassettes/MoodleRb_Users/_enrolled_courses/.yml +19 -19
- data/spec/cassettes/MoodleRb_Users/_enrolled_courses/when_using_invalid_token/.yml +39 -0
- data/spec/cassettes/MoodleRb_Users/_search/.yml +21 -21
- data/spec/cassettes/MoodleRb_Users/_search/when_using_invalid_token/.yml +39 -0
- data/spec/cassettes/MoodleRb_Users/_search_identity/.yml +51 -0
- data/spec/cassettes/MoodleRb_Users/_search_identity/when_using_invalid_token/.yml +52 -0
- data/spec/cassettes/MoodleRb_Users/_show/.yml +19 -19
- data/spec/cassettes/MoodleRb_Users/_show/when_using_invalid_token/.yml +39 -0
- data/spec/cassettes/MoodleRb_Users/_update/.yml +20 -20
- data/spec/cassettes/MoodleRb_Users/_update/when_using_invalid_token/.yml +39 -0
- data/spec/lib/moodle_rb/categories_spec.rb +42 -10
- data/spec/lib/moodle_rb/client_spec.rb +7 -5
- data/spec/lib/moodle_rb/courses_spec.rb +155 -20
- data/spec/lib/moodle_rb/enrolments_spec.rb +36 -3
- data/spec/lib/moodle_rb/grades_spec.rb +4 -4
- data/spec/lib/moodle_rb/users_spec.rb +93 -9
- data/spec/lib/moodle_rb_spec.rb +2 -2
- metadata +150 -142
- data/spec/cassettes/MoodleRb_Categories/_destroy/.yml +0 -75
- data/spec/cassettes/MoodleRb_Courses/_destroy/.yml +0 -75
- data/spec/cassettes/MoodleRb_Courses/_enrolled_users/.yml +0 -75
@@ -1,39 +1,39 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
4
|
method: post
|
5
|
-
uri: http://localhost:8888/
|
6
|
-
body:
|
5
|
+
uri: http://localhost:8888/moodle28/webservice/rest/server.php?moodlewsrestformat=json&wsfunction=core_user_update_users&wstoken=60fc9c9415259404795094957e4ab32f
|
6
|
+
body:
|
7
7
|
string: users[0][email]=samg%40jobready.com.au&users[0][id]=4
|
8
8
|
headers: {}
|
9
9
|
|
10
|
-
response:
|
11
|
-
status:
|
10
|
+
response:
|
11
|
+
status:
|
12
12
|
code: 200
|
13
13
|
message: OK
|
14
|
-
headers:
|
15
|
-
Expires:
|
14
|
+
headers:
|
15
|
+
Expires:
|
16
16
|
- Thu, 01 Jan 1970 00:00:00 GMT
|
17
|
-
X-Powered-By:
|
17
|
+
X-Powered-By:
|
18
18
|
- PHP/5.6.2
|
19
|
-
Content-Type:
|
19
|
+
Content-Type:
|
20
20
|
- application/json
|
21
|
-
Content-Length:
|
21
|
+
Content-Length:
|
22
22
|
- "4"
|
23
|
-
Date:
|
23
|
+
Date:
|
24
24
|
- Wed, 08 Jun 2016 06:40:27 GMT
|
25
|
-
Access-Control-Allow-Origin:
|
25
|
+
Access-Control-Allow-Origin:
|
26
26
|
- "*"
|
27
|
-
Accept-Ranges:
|
27
|
+
Accept-Ranges:
|
28
28
|
- none
|
29
|
-
Pragma:
|
29
|
+
Pragma:
|
30
30
|
- no-cache
|
31
|
-
Server:
|
31
|
+
Server:
|
32
32
|
- Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zg DAV/2 mod_perl/2.0.8 Perl/v5.20.0
|
33
|
-
Cache-Control:
|
33
|
+
Cache-Control:
|
34
34
|
- private, must-revalidate, pre-check=0, post-check=0, max-age=0
|
35
|
-
body:
|
35
|
+
body:
|
36
36
|
string: "null"
|
37
|
-
http_version:
|
37
|
+
http_version:
|
38
38
|
recorded_at: Wed, 08 Jun 2016 06:40:27 GMT
|
39
39
|
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,39 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://localhost:8888/moodle28/webservice/rest/server.php?moodlewsrestformat=json&wsfunction=core_user_update_users&wstoken=
|
6
|
+
body:
|
7
|
+
string: users[0][email]=&users[0][id]=4
|
8
|
+
headers: {}
|
9
|
+
|
10
|
+
response:
|
11
|
+
status:
|
12
|
+
code: 200
|
13
|
+
message: OK
|
14
|
+
headers:
|
15
|
+
X-Powered-By:
|
16
|
+
- PHP/5.6.2
|
17
|
+
Accept-Ranges:
|
18
|
+
- none
|
19
|
+
Server:
|
20
|
+
- Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zg DAV/2 mod_perl/2.0.8 Perl/v5.20.0
|
21
|
+
Pragma:
|
22
|
+
- no-cache
|
23
|
+
Content-Type:
|
24
|
+
- application/json
|
25
|
+
Access-Control-Allow-Origin:
|
26
|
+
- "*"
|
27
|
+
Expires:
|
28
|
+
- Thu, 01 Jan 1970 00:00:00 GMT
|
29
|
+
Date:
|
30
|
+
- Mon, 20 Jun 2016 22:39:11 GMT
|
31
|
+
Cache-Control:
|
32
|
+
- private, must-revalidate, pre-check=0, post-check=0, max-age=0
|
33
|
+
Content-Length:
|
34
|
+
- "103"
|
35
|
+
body:
|
36
|
+
string: "{\"exception\":\"moodle_exception\",\"errorcode\":\"invalidtoken\",\"message\":\"Invalid token - token not found\"}"
|
37
|
+
http_version:
|
38
|
+
recorded_at: Mon, 20 Jun 2016 22:39:11 GMT
|
39
|
+
recorded_with: VCR 2.9.3
|
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe MoodleRb::Categories do
|
4
|
-
let(:url) { ENV['MOODLE_URL'] || 'localhost' }
|
5
|
-
let(:token) { ENV['MOODLE_TOKEN'] || '' }
|
4
|
+
let(:url) { ENV['MOODLE_URL'] || 'localhost:8888/moodle28' }
|
5
|
+
let(:token) { ENV['MOODLE_TOKEN'] || '60fc9c9415259404795094957e4ab32f' }
|
6
6
|
let(:category_moodle_rb) { MoodleRb.new(token, url).categories }
|
7
7
|
|
8
8
|
describe '#index', :vcr => {
|
9
|
-
:match_requests_on => [:body, :
|
9
|
+
:match_requests_on => [:body, :path], :record => :once
|
10
10
|
} do
|
11
11
|
let(:result) { category_moodle_rb.index }
|
12
12
|
|
@@ -14,10 +14,20 @@ describe MoodleRb::Categories do
|
|
14
14
|
expect(result).to be_a Array
|
15
15
|
expect(result.first).to have_key 'id'
|
16
16
|
end
|
17
|
+
|
18
|
+
context 'when using invalid token' do
|
19
|
+
let(:token) { '' }
|
20
|
+
specify do
|
21
|
+
expect{ category_moodle_rb.index }.to raise_error(
|
22
|
+
MoodleRb::MoodleError,
|
23
|
+
'Invalid token - token not found'
|
24
|
+
)
|
25
|
+
end
|
26
|
+
end
|
17
27
|
end
|
18
28
|
|
19
29
|
describe '#create', :vcr => {
|
20
|
-
:match_requests_on => [:
|
30
|
+
:match_requests_on => [:path], :record => :once
|
21
31
|
} do
|
22
32
|
let(:params) do
|
23
33
|
{
|
@@ -50,7 +60,7 @@ describe MoodleRb::Categories do
|
|
50
60
|
end
|
51
61
|
|
52
62
|
describe '#show', :vcr => {
|
53
|
-
:match_requests_on => [:
|
63
|
+
:match_requests_on => [:path], :record => :once
|
54
64
|
} do
|
55
65
|
let(:id) { 1 }
|
56
66
|
let(:result) { category_moodle_rb.show(id) }
|
@@ -59,16 +69,38 @@ describe MoodleRb::Categories do
|
|
59
69
|
expect(result).to be_a Hash
|
60
70
|
expect(result['id']).to eq 1
|
61
71
|
end
|
72
|
+
|
73
|
+
context 'when using invalid token' do
|
74
|
+
let(:token) { '' }
|
75
|
+
specify do
|
76
|
+
expect{ category_moodle_rb.show(id) }.to raise_error(
|
77
|
+
MoodleRb::MoodleError,
|
78
|
+
'Invalid token - token not found'
|
79
|
+
)
|
80
|
+
end
|
81
|
+
end
|
62
82
|
end
|
63
83
|
|
64
84
|
describe '#destroy', :vcr => {
|
65
|
-
:match_requests_on => [:
|
85
|
+
:match_requests_on => [:path], :record => :once
|
66
86
|
} do
|
67
|
-
|
68
|
-
|
87
|
+
context 'when using valid token' do
|
88
|
+
let!(:id) { category_moodle_rb.create(:name => '_')['id'] }
|
89
|
+
let(:result) { category_moodle_rb.destroy(id) }
|
69
90
|
|
70
|
-
|
71
|
-
|
91
|
+
specify do
|
92
|
+
expect(result).to eq true
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
context 'when using invalid token' do
|
97
|
+
let(:token) { '' }
|
98
|
+
specify do
|
99
|
+
expect{ category_moodle_rb.destroy(0) }.to raise_error(
|
100
|
+
MoodleRb::MoodleError,
|
101
|
+
'Invalid token - token not found'
|
102
|
+
)
|
103
|
+
end
|
72
104
|
end
|
73
105
|
end
|
74
106
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe MoodleRb::Client do
|
4
|
-
let(:url) { ENV['MOODLE_URL'] || 'localhost' }
|
5
|
-
let(:token) { ENV['MOODLE_TOKEN'] || '' }
|
4
|
+
let(:url) { ENV['MOODLE_URL'] || 'localhost:8888/moodle28' }
|
5
|
+
let(:token) { ENV['MOODLE_TOKEN'] || '60fc9c9415259404795094957e4ab32f' }
|
6
6
|
let(:moodle_rb) { MoodleRb.new(token, url) }
|
7
7
|
|
8
8
|
describe '#site_info', :vcr => {
|
9
|
-
:match_requests_on => [:body, :
|
9
|
+
:match_requests_on => [:body, :path], :record => :once
|
10
10
|
} do
|
11
11
|
let(:result) { moodle_rb.site_info }
|
12
12
|
|
@@ -14,8 +14,10 @@ describe MoodleRb::Client do
|
|
14
14
|
let(:token) { 'invalid_moodle_rb_token' }
|
15
15
|
|
16
16
|
specify do
|
17
|
-
expect
|
18
|
-
|
17
|
+
expect{ result }.to raise_error(
|
18
|
+
MoodleRb::MoodleError,
|
19
|
+
'Invalid token - token not found'
|
20
|
+
)
|
19
21
|
end
|
20
22
|
end
|
21
23
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe MoodleRb::Courses do
|
4
|
-
let(:url) { ENV['MOODLE_URL'] || 'localhost' }
|
5
|
-
let(:token) { ENV['MOODLE_TOKEN'] || '' }
|
4
|
+
let(:url) { ENV['MOODLE_URL'] || 'localhost:8888/moodle28' }
|
5
|
+
let(:token) { ENV['MOODLE_TOKEN'] || '60fc9c9415259404795094957e4ab32f' }
|
6
6
|
let(:course_moodle_rb) { MoodleRb.new(token, url).courses }
|
7
7
|
let(:params) do
|
8
8
|
{
|
@@ -14,7 +14,7 @@ describe MoodleRb::Courses do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
describe '#index', :vcr => {
|
17
|
-
:match_requests_on => [:body, :
|
17
|
+
:match_requests_on => [:body, :path], :record => :once
|
18
18
|
} do
|
19
19
|
let(:result) { course_moodle_rb.index }
|
20
20
|
|
@@ -22,10 +22,20 @@ describe MoodleRb::Courses do
|
|
22
22
|
expect(result).to be_a Array
|
23
23
|
expect(result.first).to have_key 'id'
|
24
24
|
end
|
25
|
+
|
26
|
+
context 'when using invalid token' do
|
27
|
+
let(:token) { '' }
|
28
|
+
specify do
|
29
|
+
expect{ course_moodle_rb.index }.to raise_error(
|
30
|
+
MoodleRb::MoodleError,
|
31
|
+
'Invalid token - token not found'
|
32
|
+
)
|
33
|
+
end
|
34
|
+
end
|
25
35
|
end
|
26
36
|
|
27
37
|
describe '#create', :vcr => {
|
28
|
-
:match_requests_on => [:
|
38
|
+
:match_requests_on => [:path], :record => :once
|
29
39
|
} do
|
30
40
|
let(:result) { course_moodle_rb.create(params) }
|
31
41
|
|
@@ -50,7 +60,7 @@ describe MoodleRb::Courses do
|
|
50
60
|
end
|
51
61
|
|
52
62
|
describe '#show', :vcr => {
|
53
|
-
:match_requests_on => [:
|
63
|
+
:match_requests_on => [:path], :record => :once
|
54
64
|
} do
|
55
65
|
let(:id) { 1 }
|
56
66
|
let(:result) { course_moodle_rb.show(id) }
|
@@ -59,34 +69,159 @@ describe MoodleRb::Courses do
|
|
59
69
|
expect(result).to be_a Hash
|
60
70
|
expect(result['id']).to eq 1
|
61
71
|
end
|
72
|
+
|
73
|
+
context 'when using invalid token' do
|
74
|
+
let(:token) { '' }
|
75
|
+
specify do
|
76
|
+
expect{ course_moodle_rb.show(id) }.to raise_error(
|
77
|
+
MoodleRb::MoodleError,
|
78
|
+
'Invalid token - token not found'
|
79
|
+
)
|
80
|
+
end
|
81
|
+
end
|
62
82
|
end
|
63
83
|
|
64
84
|
describe '#destroy', :vcr => {
|
65
|
-
:match_requests_on => [:
|
85
|
+
:match_requests_on => [:path], :record => :once
|
66
86
|
} do
|
67
|
-
|
68
|
-
|
87
|
+
context 'when using valid token' do
|
88
|
+
let(:id) { course_moodle_rb.create(params)['id'] }
|
89
|
+
let(:result) { course_moodle_rb.destroy(id) }
|
69
90
|
|
70
|
-
|
71
|
-
|
91
|
+
specify do
|
92
|
+
expect(result).to be_a Hash
|
93
|
+
expect(result['warnings']).to be_a Array
|
94
|
+
expect(result['warnings']).to be_empty
|
95
|
+
end
|
96
|
+
|
97
|
+
context 'when using invalid course id' do
|
98
|
+
let(:result) { course_moodle_rb.destroy(-1) }
|
99
|
+
|
100
|
+
specify do
|
101
|
+
expect(result).to be_a Hash
|
102
|
+
expect(result['warnings']).to be_a Array
|
103
|
+
expect(result['warnings'][0]['warningcode']).to eq 'unknowncourseidnumber'
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
context 'when using invalid token' do
|
109
|
+
let(:token) { '' }
|
110
|
+
specify do
|
111
|
+
expect{ course_moodle_rb.destroy(-1) }.to raise_error(
|
112
|
+
MoodleRb::MoodleError,
|
113
|
+
'Invalid token - token not found'
|
114
|
+
)
|
115
|
+
end
|
72
116
|
end
|
73
117
|
end
|
74
118
|
|
75
119
|
describe '#enrolled_users', :vcr => {
|
76
|
-
:match_requests_on => [:
|
120
|
+
:match_requests_on => [:path], :record => :once
|
77
121
|
} do
|
78
122
|
let(:course_id) { 8 }
|
79
|
-
|
80
|
-
|
81
|
-
|
123
|
+
|
124
|
+
context 'when using valid token' do
|
125
|
+
let!(:enrolled_user) do
|
126
|
+
MoodleRb.new(token, url).enrolments.create(
|
127
|
+
:user_id => 3, :course_id => course_id)
|
128
|
+
end
|
129
|
+
let(:result) { course_moodle_rb.enrolled_users(course_id) }
|
130
|
+
let(:enrolment) { result.first }
|
131
|
+
|
132
|
+
specify do
|
133
|
+
expect(result).to be_a Array
|
134
|
+
expect(enrolment).to have_key 'id'
|
135
|
+
expect(enrolment).to have_key 'enrolledcourses'
|
136
|
+
end
|
82
137
|
end
|
83
|
-
let(:result) { course_moodle_rb.enrolled_users(course_id) }
|
84
|
-
let(:enrolment) { result.first }
|
85
138
|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
139
|
+
context 'when using invalid token' do
|
140
|
+
let(:token) { '' }
|
141
|
+
specify do
|
142
|
+
expect{ course_moodle_rb.enrolled_users(course_id) }.to raise_error(
|
143
|
+
MoodleRb::MoodleError,
|
144
|
+
'Invalid token - token not found'
|
145
|
+
)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
describe '#grade_items', :vcr => {
|
151
|
+
:match_requests_on => [:path], :record => :once
|
152
|
+
} do
|
153
|
+
let(:course_id) { 5 }
|
154
|
+
|
155
|
+
context 'when using valid token' do
|
156
|
+
let(:result) { course_moodle_rb.grade_items(course_id) }
|
157
|
+
let(:user_grades) { result.first }
|
158
|
+
|
159
|
+
specify do
|
160
|
+
expect(result).to be_a Array
|
161
|
+
expect(user_grades).to have_key 'gradeitems'
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
context 'when using invalid token' do
|
166
|
+
let(:token) { '' }
|
167
|
+
specify do
|
168
|
+
expect{ course_moodle_rb.grade_items(course_id) }.to raise_error(
|
169
|
+
MoodleRb::MoodleError,
|
170
|
+
'Invalid token - token not found'
|
171
|
+
)
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
describe '#contents', :vcr => {
|
177
|
+
:match_requests_on => [:path], :record => :once
|
178
|
+
} do
|
179
|
+
let(:course_id) { 5 }
|
180
|
+
|
181
|
+
context 'when using valid token' do
|
182
|
+
let(:result) { course_moodle_rb.contents(course_id) }
|
183
|
+
let(:enrolment) { result.first }
|
184
|
+
|
185
|
+
specify do
|
186
|
+
expect(result).to be_a Hash
|
187
|
+
expect(result).to have_key 'modules'
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
191
|
+
context 'when using invalid token' do
|
192
|
+
let(:token) { '' }
|
193
|
+
specify do
|
194
|
+
expect{ course_moodle_rb.contents(course_id) }.to raise_error(
|
195
|
+
MoodleRb::MoodleError,
|
196
|
+
'Invalid token - token not found'
|
197
|
+
)
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
describe '#module', :vcr => {
|
203
|
+
:match_requests_on => [:path], :record => :once
|
204
|
+
} do
|
205
|
+
let(:course_module_id) { 21 }
|
206
|
+
|
207
|
+
context 'when using valid token' do
|
208
|
+
let(:result) { course_moodle_rb.module(course_module_id) }
|
209
|
+
|
210
|
+
specify do
|
211
|
+
expect(result).to be_a Hash
|
212
|
+
expect(result).to have_key 'name'
|
213
|
+
expect(result).to have_key 'gradepass'
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
217
|
+
context 'when using invalid token' do
|
218
|
+
let(:token) { '' }
|
219
|
+
specify do
|
220
|
+
expect{ course_moodle_rb.module(course_module_id) }.to raise_error(
|
221
|
+
MoodleRb::MoodleError,
|
222
|
+
'Invalid token - token not found'
|
223
|
+
)
|
224
|
+
end
|
90
225
|
end
|
91
226
|
end
|
92
227
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe MoodleRb::Enrolments do
|
4
|
-
let(:url) { ENV['MOODLE_URL'] || 'localhost' }
|
5
|
-
let(:token) { ENV['MOODLE_TOKEN'] || '' }
|
4
|
+
let(:url) { ENV['MOODLE_URL'] || 'localhost:8888/moodle28' }
|
5
|
+
let(:token) { ENV['MOODLE_TOKEN'] || '60fc9c9415259404795094957e4ab32f' }
|
6
6
|
let(:enrolment_moodle_rb) { MoodleRb.new(token, url).enrolments }
|
7
7
|
|
8
8
|
describe '#create', :vcr => {
|
9
|
-
:match_requests_on => [:
|
9
|
+
:match_requests_on => [:path], :record => :once
|
10
10
|
} do
|
11
11
|
let(:params) do
|
12
12
|
{
|
@@ -36,4 +36,37 @@ describe MoodleRb::Enrolments do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
39
|
+
|
40
|
+
describe '#destroy', :vcr => {
|
41
|
+
:match_requests_on => [:path], :record => :once
|
42
|
+
} do
|
43
|
+
let(:params) do
|
44
|
+
{
|
45
|
+
:user_id => '7',
|
46
|
+
:course_id => '5'
|
47
|
+
}
|
48
|
+
end
|
49
|
+
|
50
|
+
let(:result) { enrolment_moodle_rb.destroy(params) }
|
51
|
+
|
52
|
+
specify do
|
53
|
+
expect(result).to eq true
|
54
|
+
end
|
55
|
+
|
56
|
+
context 'when user or course id is invalid' do
|
57
|
+
let(:params) do
|
58
|
+
{
|
59
|
+
:user_id => 9999,
|
60
|
+
:course_id => 9999
|
61
|
+
}
|
62
|
+
end
|
63
|
+
|
64
|
+
specify do
|
65
|
+
expect{ result }.to raise_error(
|
66
|
+
MoodleRb::MoodleError,
|
67
|
+
"Can't find data record in database table course."
|
68
|
+
)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
39
72
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe MoodleRb::Grades do
|
4
|
-
let(:url) { ENV['MOODLE_URL'] || 'localhost' }
|
5
|
-
let(:token) { ENV['MOODLE_TOKEN'] || '' }
|
4
|
+
let(:url) { ENV['MOODLE_URL'] || 'localhost:8888/moodle28' }
|
5
|
+
let(:token) { ENV['MOODLE_TOKEN'] || '60fc9c9415259404795094957e4ab32f' }
|
6
6
|
let(:grade_moodle_rb) { MoodleRb.new(token, url).grades }
|
7
7
|
|
8
8
|
describe '#by_assignment', :vcr => {
|
9
|
-
:match_requests_on => [:
|
9
|
+
:match_requests_on => [:path], :record => :once
|
10
10
|
} do
|
11
11
|
let(:assignment_id) { 1 }
|
12
12
|
let(:result) { grade_moodle_rb.by_assignment(assignment_id) }
|
@@ -18,7 +18,7 @@ describe MoodleRb::Grades do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
describe '#by_course', :vcr => {
|
21
|
-
:match_requests_on => [:
|
21
|
+
:match_requests_on => [:path], :record => :once
|
22
22
|
} do
|
23
23
|
let(:course_id) { 8 }
|
24
24
|
let(:user_ids) { 5 }
|
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe MoodleRb::Users do
|
4
|
-
let(:url) { ENV['MOODLE_URL'] || 'localhost' }
|
5
|
-
let(:token) { ENV['MOODLE_TOKEN'] || '' }
|
4
|
+
let(:url) { ENV['MOODLE_URL'] || 'localhost:8888/moodle28' }
|
5
|
+
let(:token) { ENV['MOODLE_TOKEN'] || '60fc9c9415259404795094957e4ab32f' }
|
6
6
|
let(:user_moodle_rb) { MoodleRb.new(token, url).users }
|
7
7
|
|
8
8
|
describe '#create', :vcr => {
|
9
|
-
:match_requests_on => [:
|
9
|
+
:match_requests_on => [:path], :record => :once
|
10
10
|
} do
|
11
11
|
let(:params) do
|
12
12
|
{
|
@@ -43,7 +43,7 @@ describe MoodleRb::Users do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
describe '#show', :vcr => {
|
46
|
-
:match_requests_on => [:
|
46
|
+
:match_requests_on => [:path], :record => :once
|
47
47
|
} do
|
48
48
|
let(:id) { 5 }
|
49
49
|
let(:result) { user_moodle_rb.show(id) }
|
@@ -52,10 +52,20 @@ describe MoodleRb::Users do
|
|
52
52
|
expect(result).to be_a Hash
|
53
53
|
expect(result['id']).to eq 5
|
54
54
|
end
|
55
|
+
|
56
|
+
context 'when using invalid token' do
|
57
|
+
let(:token) { '' }
|
58
|
+
specify do
|
59
|
+
expect{ user_moodle_rb.show(id) }.to raise_error(
|
60
|
+
MoodleRb::MoodleError,
|
61
|
+
'Invalid token - token not found'
|
62
|
+
)
|
63
|
+
end
|
64
|
+
end
|
55
65
|
end
|
56
66
|
|
57
67
|
describe '#destroy', :vcr => {
|
58
|
-
:match_requests_on => [:
|
68
|
+
:match_requests_on => [:path], :record => :once
|
59
69
|
} do
|
60
70
|
let(:id) { 5 }
|
61
71
|
let(:result) { user_moodle_rb.destroy(id) }
|
@@ -67,13 +77,26 @@ describe MoodleRb::Users do
|
|
67
77
|
context 'when id does not exist' do
|
68
78
|
let(:id) { 999 }
|
69
79
|
specify do
|
70
|
-
expect
|
80
|
+
expect{ result }.to raise_error(
|
81
|
+
MoodleRb::MoodleError,
|
82
|
+
'Invalid user'
|
83
|
+
)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
context 'when using invalid token' do
|
88
|
+
let(:token) { '' }
|
89
|
+
specify do
|
90
|
+
expect{ user_moodle_rb.destroy(-1) }.to raise_error(
|
91
|
+
MoodleRb::MoodleError,
|
92
|
+
'Invalid token - token not found'
|
93
|
+
)
|
71
94
|
end
|
72
95
|
end
|
73
96
|
end
|
74
97
|
|
75
98
|
describe '#enrolled_courses', :vcr => {
|
76
|
-
:match_requests_on => [:
|
99
|
+
:match_requests_on => [:path], :record => :once
|
77
100
|
} do
|
78
101
|
let(:user_id) { 3 }
|
79
102
|
let(:result) { user_moodle_rb.enrolled_courses(user_id) }
|
@@ -83,10 +106,20 @@ describe MoodleRb::Users do
|
|
83
106
|
expect(result).to be_a Array
|
84
107
|
expect(enrolment).to have_key 'shortname'
|
85
108
|
end
|
109
|
+
|
110
|
+
context 'when using invalid token' do
|
111
|
+
let(:token) { '' }
|
112
|
+
specify do
|
113
|
+
expect{ user_moodle_rb.enrolled_courses(user_id) }.to raise_error(
|
114
|
+
MoodleRb::MoodleError,
|
115
|
+
'Invalid token - token not found'
|
116
|
+
)
|
117
|
+
end
|
118
|
+
end
|
86
119
|
end
|
87
120
|
|
88
121
|
describe '#search', :vcr => {
|
89
|
-
:match_requests_on => [:
|
122
|
+
:match_requests_on => [:path], :record => :once
|
90
123
|
} do
|
91
124
|
let(:results) { user_moodle_rb.search({ :firstname => 'Guest%' }) }
|
92
125
|
|
@@ -95,10 +128,49 @@ describe MoodleRb::Users do
|
|
95
128
|
expect(results.first).to be_a Hash
|
96
129
|
expect(results.first['firstname']).to eq 'Guest user'
|
97
130
|
end
|
131
|
+
|
132
|
+
context 'when using invalid token' do
|
133
|
+
let(:token) { '' }
|
134
|
+
specify do
|
135
|
+
expect{ user_moodle_rb.search({ :firstname => '%' }) }.to raise_error(
|
136
|
+
MoodleRb::MoodleError,
|
137
|
+
'Invalid token - token not found'
|
138
|
+
)
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
describe '#search_identity', :vcr => {
|
144
|
+
:match_requests_on => [:path], :record => :once
|
145
|
+
} do
|
146
|
+
let(:results) { user_moodle_rb.search_identity('moodle_student@mailinator.com') }
|
147
|
+
|
148
|
+
specify do
|
149
|
+
expect(results).to be_a Array
|
150
|
+
expect(results.first).to be_a Hash
|
151
|
+
expect(results.first['id']).to eq 25
|
152
|
+
expect(results.first['fullname']).to eq 'Moodle Student'
|
153
|
+
expect(results.first['extrafields'].first['name']).to eq 'idnumber'
|
154
|
+
expect(results.first['extrafields'].first['value']).to eq 'MS01'
|
155
|
+
expect(results.first['extrafields'].last['name']).to eq 'email'
|
156
|
+
expect(results.first['extrafields'].last['value']).to eq 'moodle_student@mailinator.com'
|
157
|
+
end
|
158
|
+
|
159
|
+
context 'when using invalid token' do
|
160
|
+
let(:token) { '' }
|
161
|
+
specify do
|
162
|
+
expect do
|
163
|
+
user_moodle_rb.search_identity('moodle_student@mailinator.com')
|
164
|
+
end.to raise_error(
|
165
|
+
MoodleRb::MoodleError,
|
166
|
+
'Invalid token - token not found'
|
167
|
+
)
|
168
|
+
end
|
169
|
+
end
|
98
170
|
end
|
99
171
|
|
100
172
|
describe '#update', :vcr => {
|
101
|
-
:match_requests_on => [:
|
173
|
+
:match_requests_on => [:path], :record => :once
|
102
174
|
} do
|
103
175
|
let(:user_id) { 4 }
|
104
176
|
let(:result) do
|
@@ -108,5 +180,17 @@ describe MoodleRb::Users do
|
|
108
180
|
specify do
|
109
181
|
expect(result).to eq true
|
110
182
|
end
|
183
|
+
|
184
|
+
context 'when using invalid token' do
|
185
|
+
let(:token) { '' }
|
186
|
+
specify do
|
187
|
+
expect do
|
188
|
+
user_moodle_rb.update(:id => user_id, :email => '')
|
189
|
+
end.to raise_error(
|
190
|
+
MoodleRb::MoodleError,
|
191
|
+
'Invalid token - token not found'
|
192
|
+
)
|
193
|
+
end
|
194
|
+
end
|
111
195
|
end
|
112
196
|
end
|