MojioClient = require '../lib/nodejs/MojioClient'
{{Model}} = require '../lib/models/{{Model}}'
config = require './config/mojio-config.coffee'
mojio_client = new MojioClient(config)
assert = require('assert')
testdata = require('./data/mojio-test-data')
should = require('should')

testObject = null

describe '{{Model}}', ->

    before( (done) ->
        mojio_client.login(testdata.username, testdata.password, (error, result) ->
            (error==null).should.be.true
            done()
        )
    )

    # test {{Model}}
    it 'can get {{Resource}} from Model', (done) ->
        {{model}} = new {{Model}}({})
        {{model}}.authorization(mojio_client)

        {{model}}.query({}, (error, result) ->
            (error==null).should.be.true
            mojio_client.should.be.an.instanceOf(MojioClient)
            result.Objects.should.be.an.instanceOf(Array)
            if (result.Objects? and result.Objects instanceof (Array))
                instance.should.be.an.instanceOf({{Model}}) for instance in result.Objects
                testObject = instance  # save for later reference.
            else
                result.should.be.an.instanceOf({{Model}})
                testObject = result
            done()
        )

    it 'can get {{Resource}}', (done) ->

        mojio_client.query({{Model}}, {}, (error, result) ->
            (error==null).should.be.true
            mojio_client.should.be.an.instanceOf(MojioClient)
            result.Objects.should.be.an.instanceOf(Array)
            instance.should.be.an.instanceOf({{Model}}) for instance in result.Objects
            done()
        )
