1
0
Fork 0
arangodb/js/apps/system/aardvark/test/specs/models/arangoUsersSpec.js

78 lines
2.1 KiB
JavaScript

/*jshint browser: true */
/*jshint unused: false */
/*global describe, beforeEach, afterEach, it, spyOn, expect, jasmine*/
/*global $*/
(function() {
"use strict";
describe("Arango Users Model", function() {
var user = 'myUser',
myModel = new window.Users({user: user});
it("verifies url", function() {
expect(myModel.url()).toEqual('/_api/user');
});
it("verifies defaults", function() {
expect(myModel.get('active')).toBeFalsy();
expect(myModel.get('extra')).toEqual({});
});
it("verifies setExtras", function() {
var name = 'name',
img = 'myImg';
spyOn($, "ajax").andCallFake(function(opt) {
expect(opt.url).toEqual("/_api/user/" + user);
expect(opt.type).toEqual("PATCH");
});
myModel.setExtras(name, img);
});
it("verifies setPassword", function() {
var passwd = 'passwd';
spyOn($, "ajax").andCallFake(function(opt) {
expect(opt.url).toEqual("/_api/user/" + user);
expect(opt.type).toEqual("PATCH");
});
myModel.setPassword(passwd);
});
it("verifies checkPassword", function() {
var passwd = 'passwd',
goodResult = "goodResult",
result = "badResult";
spyOn($, "ajax").andCallFake(function(opt) {
expect(opt.url).toEqual("/_api/user/" + user);
expect(opt.type).toEqual("POST");
expect(opt.success).toEqual(jasmine.any(Function));
opt.success({
result: goodResult
});
});
result = myModel.checkPassword(passwd);
expect(result).toEqual(goodResult);
});
it("verifies parse/isNew/url", function() {
expect(myModel.parse(true)).toBeTruthy();
expect(myModel.isNew()).toBeFalsy();
expect(myModel.url()).toEqual("/_api/user/" + user);
});
});
describe("Arango Users Model empty", function() {
var myModel = new window.Users();
it("verifies url", function() {
expect(myModel.parse(true)).toBeTruthy();
expect(myModel.isNew()).toBeFalsy();
expect(myModel.url()).toEqual("/_api/user");
});
});
}());