Permalink
Browse files

Test form-urlencoded doc update

Update handlers have access to a form object parsed from an
application/x-www-form-urlencoded request.
  • Loading branch information...
1 parent fe2dca0 commit 83593ac45d056e07223aaca82d3b16cb46ab8e2e @jo committed Mar 27, 2013
Showing with 18 additions and 0 deletions.
  1. +18 −0 share/www/script/test/update_documents.js
@@ -50,6 +50,13 @@ couchTests.update_documents = function(debug) {
doc[field] = value;
return [doc, message];
}),
+ "form-update" : stringFun(function(doc, req) {
+ for (var field in req.form) {
+ doc[field] = req.form[field];
+ }
+ var message = "updated doc from form";
+ return [doc, message];
+ }),
"bump-counter" : stringFun(function(doc, req) {
if (!doc.counter) doc.counter = 0;
doc.counter += 1;
@@ -156,6 +163,17 @@ couchTests.update_documents = function(debug) {
doc = db.open(docid);
T(doc.title == "test");
+ // form update via application/x-www-form-urlencoded
+ xhr = CouchDB.request("PUT", "/test_suite_db/_design/update/_update/form-update/"+docid, {
+ headers : {"Content-Type":"application/x-www-form-urlencoded"},
+ body : "formfoo=bar&formbar=foo"
+ });
+ TEquals(201, xhr.status);
+ TEquals("updated doc from form", xhr.responseText);
+ doc = db.open(docid);
+ TEquals("bar", doc.formfoo);
+ TEquals("foo", doc.formbar);
+
// bump counter
xhr = CouchDB.request("PUT", "/test_suite_db/_design/update/_update/bump-counter/"+docid, {
headers : {"X-Couch-Full-Commit":"true"}

0 comments on commit 83593ac

Please sign in to comment.