clever-ruby 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,44 @@
1
+ require 'test_helper'
2
+
3
+ class ListTest < Test::Unit::TestCase
4
+ def setup
5
+ Clever.configure do |config|
6
+ config.api_key = "DEMO_KEY"
7
+ end
8
+ end
9
+
10
+ should "retrieve a district's schools" do
11
+ VCR.use_cassette("districts_schools") do
12
+ @district = Clever::District.all.first
13
+ @district.schools.size.must_equal 4
14
+ end
15
+ end
16
+
17
+ should "retrieve a district's teachers" do
18
+ VCR.use_cassette("districts_teachers") do
19
+ @district = Clever::District.all.first
20
+ @district.teachers.size.must_equal 48
21
+ end
22
+ end
23
+
24
+ should "retrieve a district's sections" do
25
+ VCR.use_cassette("districts_sections") do
26
+ @district = Clever::District.all.first
27
+ @district.sections.size.must_equal 44
28
+ end
29
+ end
30
+
31
+ should "retrieve a district's students" do
32
+ VCR.use_cassette("districts_students") do
33
+ @district = Clever::District.all.first
34
+ @district.students.size.must_equal 100
35
+ end
36
+ end
37
+
38
+ should "retrieve a district's students with a small filter" do
39
+ VCR.use_cassette("districts_students_filtered") do
40
+ @district = Clever::District.all.first
41
+ @district.students({limit: 2}).size.must_equal 2
42
+ end
43
+ end
44
+ end
@@ -7,11 +7,11 @@ class CleverTest < Test::Unit::TestCase
7
7
  end
8
8
  end
9
9
 
10
- should "return api urls" do
11
- assert_equal("https://api.getclever.com/v1.1/districts", Clever.api_url("districts"))
12
- assert_equal("https://api.getclever.com/v1.1/schools", Clever.api_url("schools"))
13
- assert_equal("https://api.getclever.com/v1.1/students", Clever.api_url("students"))
14
- assert_equal("https://api.getclever.com/v1.1/sections", Clever.api_url("sections"))
15
- assert_equal("https://api.getclever.com/v1.1/teachers", Clever.api_url("teachers"))
10
+ should "return top-level resource urls" do
11
+ assert_equal("https://api.getclever.com/v1.1/districts", Clever.resource_url("districts"))
12
+ assert_equal("https://api.getclever.com/v1.1/schools", Clever.resource_url("schools"))
13
+ assert_equal("https://api.getclever.com/v1.1/students", Clever.resource_url("students"))
14
+ assert_equal("https://api.getclever.com/v1.1/sections", Clever.resource_url("sections"))
15
+ assert_equal("https://api.getclever.com/v1.1/teachers", Clever.resource_url("teachers"))
16
16
  end
17
17
  end
@@ -16,7 +16,7 @@ class CleverConfigurationTest < Test::Unit::TestCase
16
16
  end
17
17
 
18
18
  should "set a default for the api base" do
19
- Clever.configuration.api_base.must_equal('https://api.getclever.com/v1.1/')
19
+ Clever.configuration.api_base.must_equal('https://api.getclever.com/')
20
20
  end
21
21
 
22
22
  end
@@ -0,0 +1,33 @@
1
+ require 'test_helper'
2
+
3
+ class OptionalAttributesTest < Test::Unit::TestCase
4
+ def setup
5
+ Clever.configure do |config|
6
+ config.api_key = "DEMO_KEY"
7
+ end
8
+
9
+ VCR.use_cassette("schools_optional_attributes") do
10
+ @schools = Clever::School.all
11
+ end
12
+ end
13
+
14
+ should "return nil for an optional attribute that isnt present" do
15
+ clever_academy = @schools.detect{ |s| s.id == "4fee004cca2e43cf27000001"}
16
+
17
+ # Must not raise a NoMethodError.
18
+ clever_academy.state_id.must_equal nil
19
+ end
20
+
21
+ should "have the expected value for an optional attribute that is present" do
22
+ clever_prep = @schools.detect{ |s| s.id == "4fee004cca2e43cf27000002"}
23
+ clever_prep.state_id.must_equal "23"
24
+ end
25
+
26
+ should "raise a NoMethodError for an invalid attribute" do
27
+ clever_academy = @schools.detect{ |s| s.id == "4fee004cca2e43cf27000001"}
28
+
29
+ lambda {
30
+ clever_academy.some_attribute_that_doesnt_exist
31
+ }.must_raise NoMethodError
32
+ end
33
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clever-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-02-11 00:00:00.000000000 Z
13
+ date: 2013-03-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: multi_json
@@ -174,14 +174,22 @@ files:
174
174
  - lib/clever-ruby/util.rb
175
175
  - lib/clever-ruby/version.rb
176
176
  - test/data/vcr_cassettes/districts.yml
177
+ - test/data/vcr_cassettes/districts_schools.yml
178
+ - test/data/vcr_cassettes/districts_sections.yml
179
+ - test/data/vcr_cassettes/districts_students.yml
180
+ - test/data/vcr_cassettes/districts_students_filtered.yml
181
+ - test/data/vcr_cassettes/districts_teachers.yml
177
182
  - test/data/vcr_cassettes/schools.yml
183
+ - test/data/vcr_cassettes/schools_optional_attributes.yml
178
184
  - test/data/vcr_cassettes/sections.yml
179
185
  - test/data/vcr_cassettes/students.yml
180
186
  - test/data/vcr_cassettes/teachers.yml
181
187
  - test/integration/api_operations/list_test.rb
188
+ - test/integration/district_test.rb
182
189
  - test/test_helper.rb
183
190
  - test/unit/clever_test.rb
184
191
  - test/unit/configuration_test.rb
192
+ - test/unit/optional_attributes_test.rb
185
193
  homepage: http://github.com/Clever/clever-ruby
186
194
  licenses: []
187
195
  post_install_message:
@@ -194,18 +202,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
194
202
  - - ! '>='
195
203
  - !ruby/object:Gem::Version
196
204
  version: '0'
197
- segments:
198
- - 0
199
- hash: -278580959744325448
200
205
  required_rubygems_version: !ruby/object:Gem::Requirement
201
206
  none: false
202
207
  requirements:
203
208
  - - ! '>='
204
209
  - !ruby/object:Gem::Version
205
210
  version: '0'
206
- segments:
207
- - 0
208
- hash: -278580959744325448
209
211
  requirements: []
210
212
  rubyforge_project:
211
213
  rubygems_version: 1.8.23
@@ -214,11 +216,19 @@ specification_version: 3
214
216
  summary: Ruby bindings to the Clever API.
215
217
  test_files:
216
218
  - test/data/vcr_cassettes/districts.yml
219
+ - test/data/vcr_cassettes/districts_schools.yml
220
+ - test/data/vcr_cassettes/districts_sections.yml
221
+ - test/data/vcr_cassettes/districts_students.yml
222
+ - test/data/vcr_cassettes/districts_students_filtered.yml
223
+ - test/data/vcr_cassettes/districts_teachers.yml
217
224
  - test/data/vcr_cassettes/schools.yml
225
+ - test/data/vcr_cassettes/schools_optional_attributes.yml
218
226
  - test/data/vcr_cassettes/sections.yml
219
227
  - test/data/vcr_cassettes/students.yml
220
228
  - test/data/vcr_cassettes/teachers.yml
221
229
  - test/integration/api_operations/list_test.rb
230
+ - test/integration/district_test.rb
222
231
  - test/test_helper.rb
223
232
  - test/unit/clever_test.rb
224
233
  - test/unit/configuration_test.rb
234
+ - test/unit/optional_attributes_test.rb