diff options
Diffstat (limited to 'test/caldav/connection_test.js')
-rw-r--r-- | test/caldav/connection_test.js | 64 |
1 files changed, 45 insertions, 19 deletions
diff --git a/test/caldav/connection_test.js b/test/caldav/connection_test.js index fb32e8e..b035072 100644 --- a/test/caldav/connection_test.js +++ b/test/caldav/connection_test.js @@ -1,20 +1,25 @@ testSupport.lib('xhr'); testSupport.lib('connection'); +testSupport.lib('http/basic_auth'); +testSupport.lib('http/oauth2'); suite('caldav/connection', function() { - var subject; var Connection; var XHR; - var user = 'foo'; - var password = 'bar'; - var domain = 'http://foo.com'; + var BasicAuth; suiteSetup(function() { Connection = Caldav.require('connection'); XHR = Caldav.require('xhr'); + BasicAuth = Caldav.require('http/basic_auth'); }); + var subject; + var user = 'foo'; + var password = 'bar'; + var domain = 'http://foo.com'; + setup(function() { subject = new Connection({ user: user, @@ -38,32 +43,53 @@ suite('caldav/connection', function() { assert.equal(subject.domain, domain, 'should remove trailing slash'); }); - }); + suite('#request', function() { - suite('request', function() { + function commonCases() { + test('url without domain', function() { + var request = subject.request({ + url: 'bar.json' + }); - test('credentails', function() { - var result = subject.request({ - url: domain + // we add slash + assert.equal(request.url, domain + '/bar.json'); }); + } - assert.instanceOf(result, XHR); - assert.equal(result.url, domain); - assert.equal(result.password, password); - assert.equal(result.user, user); - }); + suite('basic auth (default)', function() { + + test('credentails', function() { + var result = subject.request({ + url: domain + }); - test('url without domain', function() { - var request = subject.request({ - url: 'bar.json' + assert.instanceOf(result, BasicAuth); + assert.equal(result.url, domain); + assert.equal(result.password, password); + assert.equal(result.user, user); }); - // we add slash - assert.equal(request.url, domain + '/bar.json'); + commonCases(); }); }); + suite('#update', function() { + test('without .onupdate handler', function() { + subject.update({ x: true }); + assert.equal(subject.x, true); + }); + + test('with handler', function(done) { + subject.onupdate = function() { + assert.equal(subject.oauth, 'foo'); + done(); + }; + + subject.update({ oauth: 'foo' }); + }); + }); + }); |