summaryrefslogtreecommitdiff
path: root/rel/overlay/var/share/www/spec/couch_js_instance_methods_1_spec.js
diff options
context:
space:
mode:
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.js311
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