blob: 8538c85674516ace458d72d73fe6881444047cde [file] [log] [blame]
// 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 jquery_couch.js lines 163-209
describe 'jQuery couchdb db'
before
stubAlert();
end
after
destubAlert();
end
before_each
db = $.couch.db('spec_db');
end
describe 'constructor'
it 'should set the name'
db.name.should.eql 'spec_db'
end
it 'should set the uri'
db.uri.should.eql '/spec_db/'
end
end
describe 'triggering db functions'
before_each
db.create();
end
after_each
db.drop();
end
describe 'compact'
it 'should return ok true'
db.compact({
success: function(resp) {
resp.ok.should.be_true
},
error: function(status, error, reason){errorCallback(status, error, reason)}
});
end
it 'should trigger _compact'
db.compact({
success: function(resp, obj) {
obj.url.should.eql "/spec_db/_compact"
},
error: function(status, error, reason){errorCallback(status, error, reason)}
});
end
end
describe 'viewCleanup'
it 'should return ok true'
db.viewCleanup({
success: function(resp) {
resp.ok.should.be_true
},
error: function(status, error, reason){errorCallback(status, error, reason)}
});
end
it 'should trigger _view_cleanup'
db.viewCleanup({
success: function(resp, obj) {
obj.url.should.eql "/spec_db/_view_cleanup"
},
error: function(status, error, reason){errorCallback(status, error, reason)}
});
end
end
describe 'compactView'
before_each
var designDoc = {
"views" : {
"people" : {
"map" : "function(doc) { emit(doc._id, doc); }"
}
},
"_id" : "_design/myview"
};
db.saveDoc(designDoc);
db.saveDoc({"Name" : "Felix Gaeta", "_id" : "123"});
end
it 'should return ok true'
db.compactView("myview", {
success: function(resp) {
resp.ok.should.be_true
},
error: function(status, error, reason){errorCallback(status, error, reason)}
});
end
it 'should trigger _compact_view with the groupname'
db.compactView("myview", {
success: function(resp, obj) {
obj.url.should.eql "/spec_db/_compact/myview"
},
error: function(status, error, reason){errorCallback(status, error, reason)}
});
end
it 'should return raise a 404 error when the design name doesnt exist'
db.compactView("non_existing_design_name", {
error: function(status, error, reason){
status.should.eql 404
error.should.eql "not_found"
reason.should.eql "missing"
},
success: function(resp){successCallback(resp)}
});
end
it 'should alert with an error message prefix'
db.compactView("asdf");
alert_msg.should.match /The view could not be compacted/
end
end
end
describe 'create'
after_each
db.drop();
end
it 'should return ok true'
db.create({
success: function(resp) {
resp.ok.should.be_true
},
error: function(status, error, reason){errorCallback(status, error, reason)}
});
end
it 'should result in a created db'
db.create();
db.create({
error: function(status, error, reason){
status.should.eql 412
error.should.eql "file_exists"
reason.should.eql "The database could not be created, the file already exists."
},
success: function(resp){successCallback(resp)}
});
end
it 'should alert with an error message prefix'
db.create();
db.create();
alert_msg.should.match /The database could not be created/
end
end
describe 'drop'
before_each
db.create();
end
it 'should return ok true'
db.drop({
success: function(resp) {
resp.ok.should.be_true
},
error: function(status, error, reason){errorCallback(status, error, reason)}
});
end
it 'should result in a deleted db'
db.drop();
db.drop({
error: function(status, error, reason){
status.should.eql 404
error.should.eql "not_found"
reason.should.eql "missing"
},
success: function(resp){successCallback(resp)}
});
end
it 'should alert with an error message prefix'
db.drop();
db.drop();
alert_msg.should.match /The database could not be deleted/
end
end
end