mirror of https://gitee.com/bigwinds/arangodb
A frontend foxx model can now overwrite it's configuration information
This commit is contained in:
parent
fd4d9ec116
commit
44dbb8d4cd
|
@ -54,7 +54,22 @@
|
||||||
callback(err);
|
callback(err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
|
||||||
|
setConfiguration: function(data, callback) {
|
||||||
|
$.ajax({
|
||||||
|
type: "PATCH",
|
||||||
|
url: "/_admin/aardvark/foxxes/config?mount=" + this.encodedMount(),
|
||||||
|
data: JSON.stringify(data),
|
||||||
|
contentType: "application/json",
|
||||||
|
processData: false,
|
||||||
|
success: function(data) {
|
||||||
|
callback(data);
|
||||||
|
},
|
||||||
|
error: function(err) {
|
||||||
|
callback(err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}());
|
}());
|
||||||
|
|
|
@ -36,7 +36,18 @@
|
||||||
expect(myFoxx.isNew()).toBeFalsy();
|
expect(myFoxx.isNew()).toBeFalsy();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("can get it's configuration", function() {
|
describe("configuration", function() {
|
||||||
|
var myFoxx;
|
||||||
|
|
||||||
|
beforeEach(function() {
|
||||||
|
var testMount = "/this/is_/a/test/mount";
|
||||||
|
myFoxx = new window.Foxx({
|
||||||
|
mount: testMount
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
it("can be read", function() {
|
||||||
var data = {
|
var data = {
|
||||||
opt1: {
|
opt1: {
|
||||||
type: "string",
|
type: "string",
|
||||||
|
@ -45,10 +56,6 @@
|
||||||
current: "empty"
|
current: "empty"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var testMount = "/this/is_/a/test/mount";
|
|
||||||
var myFoxx = new window.Foxx({
|
|
||||||
mount: testMount
|
|
||||||
});
|
|
||||||
spyOn($, "ajax").andCallFake(function(opts) {
|
spyOn($, "ajax").andCallFake(function(opts) {
|
||||||
expect(opts.url).toEqual("/_admin/aardvark/foxxes/config?mount=" + myFoxx.encodedMount());
|
expect(opts.url).toEqual("/_admin/aardvark/foxxes/config?mount=" + myFoxx.encodedMount());
|
||||||
expect(opts.type).toEqual("GET");
|
expect(opts.type).toEqual("GET");
|
||||||
|
@ -61,6 +68,31 @@
|
||||||
});
|
});
|
||||||
expect($.ajax).toHaveBeenCalled();
|
expect($.ajax).toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("can be saved", function() {
|
||||||
|
var data = {
|
||||||
|
opt1: "empty"
|
||||||
|
};
|
||||||
|
var call = {
|
||||||
|
back: function() {
|
||||||
|
throw new Error("Should be a spy.");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
spyOn($, "ajax").andCallFake(function(opts) {
|
||||||
|
expect(opts.url).toEqual("/_admin/aardvark/foxxes/config?mount=" + myFoxx.encodedMount());
|
||||||
|
expect(opts.type).toEqual("PATCH");
|
||||||
|
expect(opts.data).toEqual(JSON.stringify(data));
|
||||||
|
expect(opts.success).toEqual(jasmine.any(Function));
|
||||||
|
expect(opts.error).toEqual(jasmine.any(Function));
|
||||||
|
opts.success(data);
|
||||||
|
});
|
||||||
|
spyOn(call, "back");
|
||||||
|
myFoxx.setConfiguration(data, call.back);
|
||||||
|
expect($.ajax).toHaveBeenCalled();
|
||||||
|
expect(call.back).toHaveBeenCalled();
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
}());
|
}());
|
||||||
|
|
Loading…
Reference in New Issue