* reload the right data More passing postgres tests Handle schema updates, and $in for non array columns remove authdata from user and implement ensureUniqueness Make some tests work, detect existing classes Throw proper error for unique index violation fix findOneAndUpdate Support more types support more type Support boolean, fix _rperm/_wperm, add TODO Support string types and also simplify tests Move operator flattening into Parse Server and out of mongo adapters Move authdata transform for create into Parse Server Move authdata transforms completely in to Parse Server Fix test setup inline addSchema Inject default schema to response from DB adapter * Mark tests that don't work in Postgres * Exclude one more test * Exclude some more failing tests * Exclude more tests
87 lines
2.7 KiB
JavaScript
87 lines
2.7 KiB
JavaScript
|
|
var AdaptableController = require("../src/Controllers/AdaptableController").AdaptableController;
|
|
var FilesAdapter = require("../src/Adapters/Files/FilesAdapter").default;
|
|
var FilesController = require("../src/Controllers/FilesController").FilesController;
|
|
|
|
var MockController = function(options) {
|
|
AdaptableController.call(this, options);
|
|
}
|
|
MockController.prototype = Object.create(AdaptableController.prototype);
|
|
MockController.prototype.constructor = AdaptableController;
|
|
|
|
describe("AdaptableController", ()=>{
|
|
it("should use the provided adapter", (done) => {
|
|
var adapter = new FilesAdapter();
|
|
var controller = new FilesController(adapter);
|
|
expect(controller.adapter).toBe(adapter);
|
|
// make sure _adapter is private
|
|
expect(controller._adapter).toBe(undefined);
|
|
// Override _adapter is not doing anything
|
|
controller._adapter = "Hello";
|
|
expect(controller.adapter).toBe(adapter);
|
|
done();
|
|
});
|
|
|
|
it("should throw when creating a new mock controller", (done) => {
|
|
var adapter = new FilesAdapter();
|
|
expect(() => {
|
|
new MockController(adapter);
|
|
}).toThrow();
|
|
done();
|
|
});
|
|
|
|
it("should fail setting the wrong adapter to the controller", (done) => {
|
|
function WrongAdapter() {};
|
|
var adapter = new FilesAdapter();
|
|
var controller = new FilesController(adapter);
|
|
var otherAdapter = new WrongAdapter();
|
|
expect(() => {
|
|
controller.adapter = otherAdapter;
|
|
}).toThrow();
|
|
done();
|
|
});
|
|
|
|
it("should fail to instantiate a controller with wrong adapter", (done) => {
|
|
function WrongAdapter() {};
|
|
var adapter = new WrongAdapter();
|
|
expect(() => {
|
|
new FilesController(adapter);
|
|
}).toThrow();
|
|
done();
|
|
});
|
|
|
|
it("should fail to instantiate a controller without an adapter", (done) => {
|
|
expect(() => {
|
|
new FilesController();
|
|
}).toThrow();
|
|
done();
|
|
});
|
|
|
|
it("should accept an object adapter", (done) => {
|
|
var adapter = {
|
|
createFile: function(config, filename, data) { },
|
|
deleteFile: function(config, filename) { },
|
|
getFileData: function(config, filename) { },
|
|
getFileLocation: function(config, filename) { },
|
|
}
|
|
expect(() => {
|
|
new FilesController(adapter);
|
|
}).not.toThrow();
|
|
done();
|
|
});
|
|
|
|
it("should accept an object adapter", (done) => {
|
|
function AGoodAdapter() {};
|
|
AGoodAdapter.prototype.createFile = function(config, filename, data) { };
|
|
AGoodAdapter.prototype.deleteFile = function(config, filename) { };
|
|
AGoodAdapter.prototype.getFileData = function(config, filename) { };
|
|
AGoodAdapter.prototype.getFileLocation = function(config, filename) { };
|
|
|
|
var adapter = new AGoodAdapter();
|
|
expect(() => {
|
|
new FilesController(adapter);
|
|
}).not.toThrow();
|
|
done();
|
|
});
|
|
});
|