1
0
Fork 0

karma tests changed

This commit is contained in:
gschwab 2014-06-30 10:17:00 +02:00
parent 33a208796d
commit 1ceb929483
1 changed files with 139 additions and 133 deletions

View File

@ -4,147 +4,153 @@
/*global GraphManagementView, _, jasmine, $*/ /*global GraphManagementView, _, jasmine, $*/
(function () { (function () {
"use strict"; "use strict";
describe("Graph Management View", function () { describe("Graph Management View", function () {
var view, var view,
div, div,
modalDiv, modalDiv,
graphs, graphs,
collections, collections,
e1, e2, e3, e1, e2, e3,
f1, f2, f3, f1, f2, f3,
t1, t2, t3, t1, t2, t3,
o1, o2, o3, o1, o2, o3,
sys1, cols; sys1, cols;
beforeEach(function () { beforeEach(function () {
modalDiv = document.createElement("div"); modalDiv = document.createElement("div");
modalDiv.id = "modalPlaceholder"; modalDiv.id = "modalPlaceholder";
document.body.appendChild(modalDiv); document.body.appendChild(modalDiv);
window.modalView = new window.ModalView(); window.modalView = new window.ModalView();
collections = new window.arangoCollections(cols); collections = new window.arangoCollections(cols);
graphs = new window.GraphCollection(); graphs = new window.GraphCollection();
div = document.createElement("div"); div = document.createElement("div");
div.id = "content"; div.id = "content";
document.body.appendChild(div); document.body.appendChild(div);
view = new window.GraphManagementView({ view = new window.GraphManagementView({
collection: graphs, collection: graphs,
collectionCollection: new window.arangoCollections() collectionCollection: new window.arangoCollections()
});
});
afterEach(function () {
document.body.removeChild(div);
document.body.removeChild(modalDiv);
});
it("should fetch the graphs on render", function () {
spyOn(graphs, "fetch");
view.render();
expect(graphs.fetch).toHaveBeenCalledWith({async: false});
});
describe("after rendering", function () {
var g1, g2, g3;
beforeEach(function () {
g1 = {
_id: "_graphs/g1",
_key: "g1",
_rev: "123",
edgeDefinitions: [
{
collection: e1,
from: ["f1"],
to: ["t1"]
}
],
orphanCollections: ["o1"]
};
g2 = {
_id: "_graphs/g2",
_key: "g2",
_rev: "321",
edgeDefinitions: [
{
collection: e2,
from: ["f2"],
to: ["t2"]
}
],
orphanCollections: ["o2"]
};
g3 = {
_id: "_graphs/g3",
_key: "g3",
_rev: "111",
edgeDefinitions: [
{
collection: e3,
from: ["f3"],
to: ["t3"]
}
],
orphanCollections: ["o3"]
};
spyOn(graphs, "fetch");
graphs.add(g1);
graphs.add(g2);
graphs.add(g3);
view.render();
});
it("should create a sorted list of all graphs", function () {
var list = $("div.tile h5.collectionName", "#graphManagementThumbnailsIn");
expect(list.length).toEqual(3);
// Order would be g2, g3, g1
expect($(list[0]).html()).toEqual(g1._key);
expect($(list[1]).html()).toEqual(g2._key);
expect($(list[2]).html()).toEqual(g3._key);
});
describe("creating a new graph", function () {
it("should create a new empty graph", function () {
runs(function () {
$("#createGraph").click();
});
waitsFor(function () {
return $("#modal-dialog").css("display") === "block";
});
runs(function () {
$("#createNewGraphName").val("newGraph");
$("#s2id_newEdgeDefinitions0").select2("val", ["newEdgeCol"]);
$("#s2id_fromCollections0").select2("val", ["newFrom1", "newFrom2"]);
$("#s2id_toCollections0").select2("val", ["newTo1", "newTo2"]);
$("#s2id_newVertexCollections").select2("val", ["newOrphan1", "newOrphan2"]);
$("#newGraphEdges").val("newEdges");
spyOn($, "ajax").andCallFake(function (opts) {
expect(opts.type).toEqual("POST");
expect(opts.url).toEqual("/_api/gharial");
expect(opts.data).toEqual(JSON.stringify(
{
"name": "newGraph",
"edgeDefinitions": [
{
collection: "newEdgeCol",
from: ["newFrom1", "newFrom2"],
to: ["newTo1", "newTo2"]
}
],
"orphanCollections": ["newOrphan1", "newOrphan2"]
}));
}); });
$("#modalButton1").click();
expect($.ajax).toHaveBeenCalled();
});
}); });
afterEach(function () { });
document.body.removeChild(div);
document.body.removeChild(modalDiv);
});
it("should fetch the graphs on render", function () {
spyOn(graphs, "fetch");
view.render();
expect(graphs.fetch).toHaveBeenCalledWith({async: false});
});
describe("after rendering", function () {
var g1, g2, g3;
beforeEach(function () {
g1 = {
_id: "_graphs/g1",
_key: "g1",
_rev: "123",
edgeDefinitions:
[
{
collection: e1,
from: ["f1"],
to: ["t1"]
}
],
orphanCollections: ["o1"]
};
g2 = {
_id: "_graphs/g2",
_key: "g2",
_rev: "321",
edgeDefinitions:
[
{
collection: e2,
from: ["f2"],
to: ["t2"]
}
],
orphanCollections: ["o2"]
};
g3 = {
_id: "_graphs/g3",
_key: "g3",
_rev: "111",
edgeDefinitions:
[
{
collection: e3,
from: ["f3"],
to: ["t3"]
}
],
orphanCollections: ["o3"]
};
spyOn(graphs, "fetch");
graphs.add(g1);
graphs.add(g2);
graphs.add(g3);
view.render();
});
it("should create a sorted list of all graphs", function () {
var list = $("div.tile h5.collectionName", "#graphManagementThumbnailsIn");
expect(list.length).toEqual(3);
// Order would be g2, g3, g1
expect($(list[0]).html()).toEqual(g1._key);
expect($(list[1]).html()).toEqual(g2._key);
expect($(list[2]).html()).toEqual(g3._key);
});
describe("creating a new graph", function () {
it("should create a new empty graph", function () {
runs(function () {
$("#createGraph").click();
});
waitsFor(function () {
return $("#modal-dialog").css("display") === "block";
});
runs(function () {
$("#createNewGraphName").val("newGraph");
$("#s2id_newEdgeDefinitions0").val(["newEdgeCol"]);
$("#newGraphEdges").val("newEdges");
spyOn($, "ajax").andCallFake(function (opts) {
expect(opts.type).toEqual("POST");
expect(opts.url).toEqual("/_api/gharial");
expect(opts.data).toEqual(JSON.stringify(
{
"name":"newGraph",
"edgeDefinitions":[],
"orphanCollections":[]
}));
});
$("#modalButton1").click();
expect($.ajax).toHaveBeenCalled();
});
});
});
});
}); });
});
}()); }());