1 | _ = require 'underscore'
|
2 | assert = require 'assert'
|
3 | async = require 'async'
|
4 | Clever = require "#{__dirname}/../index"
|
5 | highland = require 'highland'
|
6 |
|
7 | describe "require('clever/mock') [API KEY] [MOCK DATA DIR]", ->
|
8 | before ->
|
9 | @clever = require("#{__dirname}/../mock") 'api key', "#{__dirname}/mock_data"
|
10 |
|
11 | it "supports streaming GETs", (done) ->
|
12 | highland(@clever.Student.find().stream()).invoke("toJSON").collect().toCallback (err, data) ->
|
13 | assert.ifError err
|
14 | assert.deepEqual data, require("#{__dirname}/mock_data/students")
|
15 | done()
|
16 |
|
17 | it "supports count", (done) ->
|
18 | @clever.Student.find().count().exec (err, count) ->
|
19 | assert.ifError err
|
20 | assert.equal count, require("#{__dirname}/mock_data/students").length
|
21 | done()
|
22 |
|
23 | it "supports non-streaming GETs", (done) ->
|
24 | @clever.Student.find().exec (err, data) ->
|
25 | assert.ifError err
|
26 | assert.deepEqual _(data).invoke('toJSON'), require("#{__dirname}/mock_data/students")
|
27 | done()
|
28 |
|
29 | it "deep copies data", (done) ->
|
30 | async.waterfall [
|
31 | (cb_wf) =>
|
32 | @clever.Student.find().exec (err, students) ->
|
33 | assert.ifError err
|
34 | name = students[0].get 'name'
|
35 | assert.equal name.first, "John"
|
36 | name.first = 'WRONG NAME'
|
37 | cb_wf()
|
38 | (cb_wf) =>
|
39 | @clever.Student.find().exec (err, students) ->
|
40 | assert.ifError err
|
41 | name = students[0].get 'name'
|
42 | assert.equal name.first, "John"
|
43 | cb_wf()
|
44 | ], done
|
45 |
|
46 | describe 'findById', ->
|
47 | _.each ['51a5a56f4867bbdf51054055', '51a5a56f4867bbdf51054054'], (id) ->
|
48 | it "finds a student", (done) ->
|
49 | @clever.Student.findById id, (err, student) ->
|
50 | assert.ifError err
|
51 | assert.equal student.get('id'), id
|
52 | done()
|
53 |
|
54 | it "returns undefined if the id is not found", (done) ->
|
55 | @clever.Student.findById 'not an existing id', (err, student) ->
|
56 | assert.ifError err
|
57 | assert not student, 'Expected student to be undefined'
|
58 | done()
|