diff options
Diffstat (limited to 'rel/overlay/var/share/www/spec/couch_js_instance_methods_1_spec.js')
-rw-r--r-- | rel/overlay/var/share/www/spec/couch_js_instance_methods_1_spec.js | 311 |
1 files changed, 0 insertions, 311 deletions
diff --git a/rel/overlay/var/share/www/spec/couch_js_instance_methods_1_spec.js b/rel/overlay/var/share/www/spec/couch_js_instance_methods_1_spec.js deleted file mode 100644 index 7f23bd2c..00000000 --- a/rel/overlay/var/share/www/spec/couch_js_instance_methods_1_spec.js +++ /dev/null @@ -1,311 +0,0 @@ -// Licensed under the Apache License, Version 2.0 (the "License"); you may not -// use this file except in compliance with the License. You may obtain a copy of -// the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations under -// the License. - -// Specs for couch.js lines 1-130 - -describe 'CouchDB instance' - before_each - db = new CouchDB("spec_db", {"X-Couch-Full-Commit":"false"}); - end - - describe '.request' - before_each - db.createDb(); - end - - after_each - db.deleteDb(); - end - - it 'should return a XMLHttpRequest' - var req = db.request("GET", "/spec_db"); - req.should.include "readyState" - req.should.include "responseText" - req.should.include "statusText" - // in Safari a XMLHttpRequest is actually a XMLHttpRequestConstructor, - // otherwise we could just do: - // req.should.be_a XMLHttpRequest - end - - it 'should set the options the CouchDB instance has got as httpHeaders' - CouchDB.should.receive("request", "once").with_args("GET", "/spec_db", {headers: {"X-Couch-Full-Commit": "false"}}) - db.request("GET", "/spec_db"); - end - - it 'should pass through the options' - CouchDB.should.receive("request", "once").with_args("GET", "/spec_db", {"X-Couch-Persist": "true", headers: {"X-Couch-Full-Commit": "false"}}) - db.request("GET", "/spec_db", {"X-Couch-Persist":"true"}); - end - end - - describe '.createDb' - after_each - db.deleteDb(); - end - - it 'should create the db' - db.createDb(); - db.last_req.status.should.eql 201 - end - - it 'should return the ok true' - db.createDb().should.eql {"ok" : true} - end - - it 'should result in a created db' - db.createDb(); - try{ - db.createDb(); - } catch(e) { - e.error.should.eql "file_exists" - } - end - - it 'should have create a db with update sequence 0' - db.createDb(); - db.info().update_seq.should.eql 0 - end - end - - describe '.deleteDb' - before_each - db.createDb(); - end - - it 'should delete the db' - db.deleteDb(); - db.last_req.status.should.eql 200 - end - - it 'should return the responseText of the request' - db.deleteDb().should.eql {"ok" : true} - end - - it 'should result in a deleted db' - db.deleteDb(); - db.deleteDb(); - db.last_req.status.should.eql 404 - end - end - - describe 'document methods' - before_each - doc = {"Name" : "Kara Thrace", "Callsign" : "Starbuck"}; - db.createDb(); - end - - after_each - db.deleteDb(); - end - - describe '.save' - it 'should save the document' - db.save(doc); - db.last_req.status.should.eql 201 - end - - it 'should return ok true' - db.save(doc).ok.should.be_true - end - - it 'should return ID and revision of the document' - var response = db.save(doc); - response.id.should.be_a String - response.id.should.have_length 32 - response.rev.should.be_a String - response.rev.length.should.be_at_least 30 - end - - it 'should result in a saved document with generated ID' - var response = db.save(doc); - var saved_doc = db.open(response.id); - saved_doc.Name.should.eql "Kara Thrace" - saved_doc.Callsign.should.eql "Starbuck" - end - - it 'should save the document with the specified ID' - doc._id = "123"; - var response = db.save(doc); - response.id.should.eql "123" - end - - it 'should pass through the options' - doc._id = "123"; - CouchDB.should.receive("request", "once").with_args("PUT", "/spec_db/123?batch=ok") - db.save(doc, {"batch" : "ok"}); - end - end - - describe '.open' - before_each - doc._id = "123"; - db.save(doc); - end - - it 'should open the document' - db.open("123").should.eql doc - end - - it 'should return null when there is no document with the given ID' - db.open("non_existing").should.be_null - end - - it 'should pass through the options' - CouchDB.should.receive("request", "once").with_args("GET", "/spec_db/123?revs=true") - db.open("123", {"revs" : "true"}); - end - end - - describe '.deleteDoc' - before_each - doc._id = "123"; - saved_doc = db.save(doc); - delete_response = db.deleteDoc({_id : "123", _rev : saved_doc.rev}); - delete_last_req = db.last_req; - db.open("123"); - end - - it 'should send a successful request' - delete_last_req.status.should.eql 200 - end - - it 'should result in a deleted document' - db.open("123").should.be_null - end - - it 'should return ok true, the ID and the revision of the deleted document' - delete_response.ok.should.be_true - delete_response.id.should.eql "123" - delete_response.rev.should.be_a String - delete_response.rev.length.should.be_at_least 30 - end - - it 'should mark the document as deleted' - var responseText = db.request("GET", "/spec_db/123").responseText; - JSON.parse(responseText).should.eql {"error":"not_found","reason":"deleted"} - end - - it 'should record the revision in the deleted document' - var responseText = db.request("GET", "/spec_db/123?rev=" + delete_response.rev).responseText; - var deleted_doc = JSON.parse(responseText); - deleted_doc._rev.should.eql delete_response.rev - deleted_doc._id.should.eql delete_response.id - deleted_doc._deleted.should.be_true - end - end - - describe '.deleteDocAttachment' - before_each - doc._id = "123"; - doc._attachments = { - "friend.txt" : { - "content_type": "text\/plain", - // base64 encoded - "data": "TGVlIEFkYW1hIGlzIGEgZm9ybWVyIENvbG9uaWFsIEZsZWV0IFJlc2VydmUgb2ZmaWNlci4=" - } - }; - saved_doc = db.save(doc); - end - - it 'should be executed on a document with attachment' - db.open("123")._attachments.should.include "friend.txt" - db.open("123")._attachments["friend.txt"].stub.should.be_true - end - - describe 'after delete' - before_each - delete_response = db.deleteDocAttachment({_id : "123", _rev : saved_doc.rev}, "friend.txt"); - db.open("123"); - end - - it 'should send a successful request' - db.last_req.status.should.eql 200 - end - - it 'should leave the document untouched' - db.open("123").Callsign.should.eql "Starbuck" - end - - it 'should result in a deleted document attachment' - db.open("123").should.not.include "_attachments" - end - - it 'should record the revision in the document whose attachment has been deleted' - var responseText = db.request("GET", "/spec_db/123?rev=" + delete_response.rev).responseText; - var deleted_doc = JSON.parse(responseText); - deleted_doc._rev.should.eql delete_response.rev - deleted_doc._id.should.eql delete_response.id - end - - it 'should return ok true, the ID and the revision of the document whose attachment has been deleted' - delete_response.ok.should.be_true - delete_response.id.should.eql "123" - delete_response.should.have_property 'rev' - end - end - end - - describe '.bulkSave' - before_each - doc = {"Name" : "Kara Thrace", "Callsign" : "Starbuck"}; - doc2 = {"Name" : "Karl C. Agathon", "Callsign" : "Helo"}; - doc3 = {"Name" : "Sharon Valerii", "Callsign" : "Boomer"}; - docs = [doc, doc2, doc3]; - end - - it 'should save the documents' - db.bulkSave(docs); - db.last_req.status.should.eql 201 - end - - it 'should return ID and revision of the documents' - var response = db.bulkSave(docs); - response[0].id.should.be_a String - response[0].id.should.have_length 32 - response[0].rev.should.be_a String - response[0].rev.length.should.be_at_least 30 - response[1].id.should.be_a String - response[1].id.should.have_length 32 - response[1].rev.should.be_a String - response[1].rev.length.should.be_at_least 30 - response[2].id.should.be_a String - response[2].id.should.have_length 32 - response[2].rev.should.be_a String - response[2].rev.length.should.be_at_least 30 - end - - it 'should result in saved documents' - var response = db.bulkSave(docs); - db.open(response[0].id).Name.should.eql "Kara Thrace" - db.open(response[1].id).Name.should.eql "Karl C. Agathon" - db.open(response[2].id).Name.should.eql "Sharon Valerii" - end - - it 'should save the document with specified IDs' - doc._id = "123"; - doc2._id = "456"; - docs = [doc, doc2, doc3]; - var response = db.bulkSave(docs); - response[0].id.should.eql "123" - response[1].id.should.eql "456" - response[2].id.should.have_length 32 - end - - it 'should pass through the options' - doc._id = "123"; - docs = [doc]; - CouchDB.should.receive("request", "once").with_args("POST", "/spec_db/_bulk_docs", {body: '{"docs":[{"Name":"Kara Thrace","Callsign":"Starbuck","_id":"123"}],"batch":"ok"}'}) - db.bulkSave(docs, {"batch" : "ok"}); - end - end - end -end
\ No newline at end of file |