From 67c9d02c5152ce21af80d7791d3dd95518731cbd Mon Sep 17 00:00:00 2001 From: Max Neunhoeffer Date: Wed, 12 Feb 2014 15:11:55 +0100 Subject: [PATCH 1/3] Fix a typo in the documentation. --- Documentation/RefManual/JSModuleJSUnity.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/RefManual/JSModuleJSUnity.md b/Documentation/RefManual/JSModuleJSUnity.md index f90504ab1b..8cb5c5883b 100644 --- a/Documentation/RefManual/JSModuleJSUnity.md +++ b/Documentation/RefManual/JSModuleJSUnity.md @@ -8,7 +8,7 @@ jsUnity{#jsUnityIntro} ====================== The ArangoDB contains a wrapper for jsUnity, a -lightyweight universal JavAScript unit testing framework. +lightyweight universal JavaScript unit testing framework. Running jsUnity Tests{#jsUnityRunningTest} ========================================== From fc6ff3e4277ca263afa678c4847360ad1541ed2a Mon Sep 17 00:00:00 2001 From: Max Neunhoeffer Date: Wed, 12 Feb 2014 15:20:40 +0100 Subject: [PATCH 2/3] Fix an example. --- Documentation/Examples/shell_replace-document-handle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/Examples/shell_replace-document-handle b/Documentation/Examples/shell_replace-document-handle index fff2d93106..db6c5feca1 100644 --- a/Documentation/Examples/shell_replace-document-handle +++ b/Documentation/Examples/shell_replace-document-handle @@ -1,2 +1,2 @@ -arango> a5 = db.example.replace("1432124/3903044", { a : 5 }); +arango> a5 = db.example.replace("example/3903044", { a : 5 }); { "_id" : "example/3903044", "_key" : "3903044", "_rev" : "4099652", "_oldRev" : "4034116" } From a09b77ab550b6b970ad83d450efbf559555ba517 Mon Sep 17 00:00:00 2001 From: scottashton Date: Wed, 12 Feb 2014 15:55:22 +0100 Subject: [PATCH 3/3] finalized plaScenarioSelector, click events and karma tests --- .../frontend/img/multiMachineAsym.png | Bin 10280 -> 5294 bytes .../aardvark/frontend/img/multiMachineSym.png | Bin 10688 -> 5943 bytes .../aardvark/frontend/img/singleMachine.png | Bin 8842 -> 5654 bytes .../frontend/scss/_plannerImages.scss | 12 + .../aardvark/frontend/scss/_shared.scss | 15 + .../system/aardvark/frontend/scss/planner.css | 238 ++++++++++++++++ .../aardvark/frontend/scss/planner.scss | 4 + .../system/aardvark/frontend/scss/style.scss | 16 +- js/apps/system/aardvark/manifest.json | 4 +- .../plannerFrontend/html/head.html.part | 2 +- .../js/templates/planScenarioSelector.ejs | 44 ++- .../js/views/planScenarioSelectorView.js | 43 ++- .../aardvark/test/karma/karma_planner.conf.js | 260 ++++++++++++++++++ .../views/planScenarioSelectorViewSpec.js | 39 +-- 14 files changed, 588 insertions(+), 89 deletions(-) create mode 100644 js/apps/system/aardvark/frontend/scss/_plannerImages.scss create mode 100644 js/apps/system/aardvark/frontend/scss/_shared.scss create mode 100644 js/apps/system/aardvark/frontend/scss/planner.css create mode 100644 js/apps/system/aardvark/frontend/scss/planner.scss create mode 100644 js/apps/system/aardvark/test/karma/karma_planner.conf.js diff --git a/js/apps/system/aardvark/frontend/img/multiMachineAsym.png b/js/apps/system/aardvark/frontend/img/multiMachineAsym.png index 9b92e99bb2ccbbddb590f090577e8e8e3a1c242e..0e904b89ba4cc3b9cef3ff2b648e2b5d16539477 100644 GIT binary patch delta 2585 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 delta 8021 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 jH%mvq0&kyQ-@e2$}{sIE{hXBzZhC_fVg diff --git a/js/apps/system/aardvark/frontend/img/singleMachine.png b/js/apps/system/aardvark/frontend/img/singleMachine.png index 5ddb9f3e494128cb0793d9b20755b8454b674283..d984bbca54e1ac40e025c8408f05b8c978cca713 100644 GIT binary patch delta 2947 zcmY+Gc{tQ-8^@J%(m^>bwz6i+PLY_IgCilNjHQevBqqkh)Qq)XX?$Ajt*mCF{&Z#b($jTmxNYx4GoRarKKf%F**N38Mja4Eb3a=XfCO7 zb3a}VJ4?3~`G9u@HmD@DAP!&vk82{;^1 z97y~#Ni}JT{v>$KiOu;e>~$gFC?ldst>ZNWugW zKvLIcGAj1@7&tqJ=`!%?>%s08(bWq+{y1>7tD>T!j-H-Vs;%P)6LxTrIX&04K7p_m zU3;&52qW>Sv8<*D*`!wGe3{cdYy!B@Hchym;4-P?_NACc?bWHWV+d~(KT}ljJUv^< z0a58=;x~v24(0v^#jdnw+g1{YeOP_xNDJJST|BuRz6`Z+M?I_ZHB#ZA%e7T9CNX6`Wl+xU2rtT1!H3Qt{#-!;tK{{?X zTdC=4HC?bB8POIh5H+Rw<}kcd|5y%Hm1Z(_VDk1%VVal_Y78a-=j}7b0 z9znu7JJG&S&Wog^BOvQ`+A3VRbz15a=Y2c>G;AW88)$(5~G zUw+;pBU{NQ2;=?$qQQl=at#ALWAAcMV2s_kMFptR>JZ;4l5D_F{j}*7X&LvGmzg*F z1$w;y$`kS^_CemHD;MPwcT+rdm#Tmwn?YTr_|?W&QKY=09=)}jXurXvja4hFBtUXg z%8!@$tI}}Hs!p6NOQd9HqS#@uh`7{^Hqj!U$PWqpq^V9Db5^S$-?Qu|uxq6h zj4ZQZ@ddSZWhQ+t8>`^aAwGtv92cZqCO1D-({H4t58flQ2ti#rbDt){j#MA!i-LUL z;Tv*^t+FSRH< z*{dHgj;m{Vk`&Il$BLo4?!El?u2qt@Q&)nF)om=VEix0(6z;jl!#k#$oOEsW$Qz__ zJZ3g#>arqty=hdNrDy^C0~;&W>kS4)O3T|23Px8WcFXc#)M)Z!s)(VU>4F=_yfrZi zOno|J2-SQ{@^CDY6NqhcbkL8hXIJ!e;ycTg`%ZMI!Vlea*^hk#p|v6GCMnNO;h33T zUq6&Ta=EcbJC$tAYqL6my5K- zG!+x*#vS{;fqjs8ie=^@%IL{fc%kvEl0Ic4?i8IG zzc}$qde{d8jA0A~i8e+R6B84v8|Y}A0)Z*}DX0QaWDq>1c04G!=3D-U;EdQ8_B&(_ zcW74@rZVcbU(^7Dp+g?U$=C$=aLO2GF;>b-jIstBcH~OeIz#0IeZ zQs2gowW6ml`SsFD?l5z>*=Bc^m3IEZa$eJA-vxd{t@MEQ)y(_UkC$+TxNW(x zU}`vTmrJAf_yE>))NR@AL`Dd?)JZ-`wY`X)J+sk$Z1Cv<9padjVZ-szt&d_Q8v=ZP zpIIk0p^Xj> zeEtjZ`RPJ1AuVmUw2Tb?)vZz}hmI5Ef6|uULrGtQu3b5<_iVVp)kdoh4qe?o*o~`d z)NxB=7a%j-us7 zo2(LF?RXMu%^|i%k~3qyo=#qnT8sN*?|~gtY5v-AI)z?oN!v3(PunDr{|4$$ZSq65 zgk%noUmqKU5S7D@6Bh-l@r$KC2dojVkOyyR=bHjA>>%{=L3)FvATLXQk*nc7eue_V7iJ%w>M?z3 z>(d-IQ!~}g&7gnyv#+|(&zPSZc5=6B#DA109#f|**H5f705CN2B1y*sH|%G?M_pG8 z>B)|)q1|qS4SelVfS>*rRB#}uUw_(6JN+7o7jV5OyK!_NzhqjCa zlJmc;TW39)56bUfvDYv&cz!B70?y$-Bjylh*UnC#*gkRKdc}0tC82%YTjV=(6SfLf z?(%ue%-22eunk@_M1WsypwWsYA?0Cf_I2}SuThrEd0(1IK6ba{kI;XM3Fzn2aBVOZ z(Dl;*&t?AFbAGO$k9I?4It$%pksT{3-68XjN~3dU0tj74b!Qq+ti%Z z_r4=Q%Vp}vIFMugCewVO;!Ud$AGh{OO{EJLNu%u6;^JbuQhNEkrKreCBiI#{`JA`4 QY>PP9o<2eR^TMtF0!uIOlmGw# delta 6160 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 R|2z4|d8(nWUa#sH^B?%Y1Bn0t diff --git a/js/apps/system/aardvark/frontend/scss/_plannerImages.scss b/js/apps/system/aardvark/frontend/scss/_plannerImages.scss new file mode 100644 index 0000000000..52bea4bdff --- /dev/null +++ b/js/apps/system/aardvark/frontend/scss/_plannerImages.scss @@ -0,0 +1,12 @@ +.scenarioImage{ + @extend %clickable; + height : 70%; + width : auto; + +} + +li.bigtile { + @extend li.tile; + height:250px; + width: 345px; +} \ No newline at end of file diff --git a/js/apps/system/aardvark/frontend/scss/_shared.scss b/js/apps/system/aardvark/frontend/scss/_shared.scss new file mode 100644 index 0000000000..596e98ee8a --- /dev/null +++ b/js/apps/system/aardvark/frontend/scss/_shared.scss @@ -0,0 +1,15 @@ +// Shortcuts for multi-browser support +@import "mixins"; +// All Abstract classes +@import "colors"; +// All Abstract classes +@import "abstracts"; +// Navbar +@import "navbar"; +// Footer +@import "footer"; +// List tiles +@import "tiles"; +// Shared classes +@import "resizing"; + diff --git a/js/apps/system/aardvark/frontend/scss/planner.css b/js/apps/system/aardvark/frontend/scss/planner.css new file mode 100644 index 0000000000..47c6ca1da9 --- /dev/null +++ b/js/apps/system/aardvark/frontend/scss/planner.css @@ -0,0 +1,238 @@ +div.navlogo, ul.navlist li, ul.link-dropdown-menu, div.footer-left, li.tile, li.bigtile { + float: left; } + +div.navmenu, div.footer-right, li.tile div.iconSet span, li.bigtile div.iconSet span { + float: right; } + +li.tile div.iconSet span, li.bigtile div.iconSet span, .scenarioImage { + cursor: pointer; } + +nav.navbar, footer.footer { + position: fixed; + left: 0px; + right: 0px; + width: 100%; + background-color: #333232; + color: white; + z-index: 1000; } + +nav.navbar { + top: 0px; + height: 34px; + margin-bottom: 3px; } + +ul.navlist { + list-style: none; } + ul.navlist li { + margin-left: 1px; } + ul.navlist > li.active, + ul.navlist li.dropdown-item:hover, + ul.navlist > li:hover { + background-color: #8aa051; } + +a.tab { + padding-top: 7px; + padding-left: 10px; + padding-bottom: 10px; + padding-right: 10px; + color: white; + display: block; } + +ul.link-dropdown-menu { + position: absolute; + top: 80%; + right: 0px; + z-index: 1000; + display: none; + padding: 5px 0px; + margin: 2px 0px 0px; + list-style: none; + background-color: white; + border-style: solid; + border-color: rgba(0, 0, 0, 0.2); + border-width: 1px; + -moz-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; } + ul.link-dropdown-menu li { + line-height: 20px; + white-space: nowrap; + width: 100%; } + ul.link-dropdown-menu li.dropdown-header { + font-weight: bold; + font-size: 11px; + color: #999999; + padding: 0px 20px; + text-transform: uppercase; } + ul.link-dropdown-menu li.divider { + background-color: #e5e5e5; + height: 1px; + margin: 10px 1px; } + ul.link-dropdown-menu a { + color: #333232; + padding: 0px 20px; } + +.link-dropdown-menu:before { + position: absolute; + top: -7px; + right: 7px; + position: absolute; + border-width: 7px; + border-style: solid; + border-color: transparent; + border-top: none; + border-bottom-color: rgba(0, 0, 0, 0.2); + display: inline-block; + content: ''; } + +.link-dropdown-menu:after { + top: -6px; + right: 8px; + position: absolute; + border-width: 7px; + border-style: solid; + border-color: transparent; + border-top: none; + border-bottom-color: white; + display: inline-block; + content: ''; } + +#arangoCollectionSelect { + display: none; + float: right; + padding-bottom: 0; + margin-bottom: 0; + margin-right: 15px; } + +footer.footer { + bottom: 0px; + height: 40px; } + footer.footer p { + padding-top: 10px; + padding-bottom: 10px; + margin-bottom: 0; } + +div#collectionsThumbnailsIn { + margin-left: 0px; } + +li.tile, li.bigtile { + position: relative; + text-align: center; + height: 100px; + width: 230px; + margin-left: 6px; + margin-right: 6px; + margin-bottom: 13px; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; } + li.tile h5, li.bigtile h5 { + font-size: 12px; + white-space: nowrap !important; + overflow: hidden !important; + text-overflow: ellipsis !important; + color: white; + background: #686766; + padding: 4px 8px; + margin: 0; } + li.tile div.iconSet, li.bigtile div.iconSet { + position: absolute; + top: 5px; + right: 5px; } + li.tile div.iconSet span, li.bigtile div.iconSet span { + opacity: 0.5; + font-size: 18px; + padding-left: 7px; } + li.tile div.iconSet span:hover, li.bigtile div.iconSet span:hover { + opacity: 1.0; } + li.tile div.iconSet span.disabled, li.bigtile div.iconSet span.disabled { + opacity: 0.2; + cursor: default; } + li.tile .badge-success, li.bigtile .badge-success { + font-weight: 300; } + li.tile .unloaded div, li.bigtile .unloaded div { + border-bottom: 16px solid #FF8F35; } + li.tile .deleted div, li.bigtile .deleted div { + border-bottom: 16px solid red; } + +.collectionName { + text-align: left; + font-weight: 300; + position: absolute; + bottom: 0px; + left: 0px; + right: 0px; } + +div.resizecontainer { + margin: 0px auto; } + div.resizecontainer:after { + clear: both; + content: "."; + display: block; + font-size: 0px; + height: 0px; + visibility: hidden; } + +@media (max-width: 798px) { + #arangoCollectionUl { + display: none; } + + #collectionsDropdown ul { + width: auto !important; } + + #arangoCollectionSelect { + display: inline-block; } } +@media (min-width: 799px) and (max-width: 1041px) { + #arangoCollectionUl a { + font-size: 11px; + padding: 7px 5px 10px; } } +@media (min-width: 1042px) and (max-width: 1284px) { + #arangoCollectionUl a { + font-size: 13px; } } +@media (min-width: 72px) and (max-width: 314px) { + div.resizecontainer { + width: 0px; } } +@media (min-width: 314px) and (max-width: 556px) { + div.resizecontainer { + width: 242px; } } +@media (min-width: 556px) and (max-width: 798px) { + div.resizecontainer { + width: 484px; } } +@media (min-width: 798px) and (max-width: 1040px) { + div.resizecontainer { + width: 726px; } } +@media (min-width: 1040px) and (max-width: 1282px) { + div.resizecontainer { + width: 968px; } } +@media (min-width: 1282px) and (max-width: 1524px) { + div.resizecontainer { + width: 1210px; } } +@media (min-width: 1524px) and (max-width: 1766px) { + div.resizecontainer { + width: 1452px; } } +@media (min-width: 1766px) and (max-width: 2008px) { + div.resizecontainer { + width: 1694px; } } +@media (min-width: 2008px) and (max-width: 2250px) { + div.resizecontainer { + width: 1936px; } } +@media (min-width: 2250px) and (max-width: 2492px) { + div.resizecontainer { + width: 2178px; } } +@media (min-width: 2492px) and (max-width: 2734px) { + div.resizecontainer { + width: 2420px; } } +@media (min-width: 2734px) and (max-width: 2976px) { + div.resizecontainer { + width: 2662px; } } +div.centralRow { + margin-top: 65px; + margin-bottom: 65px; } + +.scenarioImage { + height: 70%; + width: auto; } + +li.bigtile { + height: 250px; + width: 345px; } diff --git a/js/apps/system/aardvark/frontend/scss/planner.scss b/js/apps/system/aardvark/frontend/scss/planner.scss new file mode 100644 index 0000000000..2e000a20d3 --- /dev/null +++ b/js/apps/system/aardvark/frontend/scss/planner.scss @@ -0,0 +1,4 @@ +//shared +@import "shared"; +// the images used in the planner +@import "plannerImages"; \ No newline at end of file diff --git a/js/apps/system/aardvark/frontend/scss/style.scss b/js/apps/system/aardvark/frontend/scss/style.scss index faea6ae900..ce3dae68d8 100644 --- a/js/apps/system/aardvark/frontend/scss/style.scss +++ b/js/apps/system/aardvark/frontend/scss/style.scss @@ -1,20 +1,8 @@ -// Shortcuts for multi-browser support -@import "mixins"; -// All colours -@import "colors"; +//shared +@import "shared"; // Fonts and font bindings @import "fonts"; -// All Abstract classes -@import "abstracts"; -// Shared classes -@import "resizing"; // Buttons // @import "buttons"; // Navbar -@import "navbar"; -// Navbar @import "statMenu"; -// Footer -@import "footer"; -// List tiles -@import "tiles"; diff --git a/js/apps/system/aardvark/manifest.json b/js/apps/system/aardvark/manifest.json index 7d98c77745..0349653956 100644 --- a/js/apps/system/aardvark/manifest.json +++ b/js/apps/system/aardvark/manifest.json @@ -170,9 +170,9 @@ ] }, - "planner.css": { + "css/planner.css": { "files": [ - + "frontend/scss/planner.css" ] }, diff --git a/js/apps/system/aardvark/plannerFrontend/html/head.html.part b/js/apps/system/aardvark/plannerFrontend/html/head.html.part index e48f4af3bf..1f8a52a3c4 100644 --- a/js/apps/system/aardvark/plannerFrontend/html/head.html.part +++ b/js/apps/system/aardvark/plannerFrontend/html/head.html.part @@ -4,6 +4,6 @@ - + diff --git a/js/apps/system/aardvark/plannerFrontend/js/templates/planScenarioSelector.ejs b/js/apps/system/aardvark/plannerFrontend/js/templates/planScenarioSelector.ejs index 49c9a44b35..2644ad1ac4 100644 --- a/js/apps/system/aardvark/plannerFrontend/js/templates/planScenarioSelector.ejs +++ b/js/apps/system/aardvark/plannerFrontend/js/templates/planScenarioSelector.ejs @@ -5,34 +5,22 @@ -
-
-
-
- -
- Please select a cluster scenario: - -
-
-
- -
-
- -
+
+
+ Please select a cluster scenario: - - -
- -
-
- -
-
-
-
+
  • + +
    Multi Machine Symmetrical
    +
  • +
  • + +
    Multi Machine Asymmetrical
    +
  • +
  • + +
    Single Machine
    +
  • +
    diff --git a/js/apps/system/aardvark/plannerFrontend/js/views/planScenarioSelectorView.js b/js/apps/system/aardvark/plannerFrontend/js/views/planScenarioSelectorView.js index 049f41d430..a404e1a7d9 100644 --- a/js/apps/system/aardvark/plannerFrontend/js/views/planScenarioSelectorView.js +++ b/js/apps/system/aardvark/plannerFrontend/js/views/planScenarioSelectorView.js @@ -12,35 +12,28 @@ events: { - /* "click input[type='radio'][name='loadtype']": "toggleLoadtypeDisplay", - "click #createViewer": "createViewer", - "click #add_label": "insertNewLabelLine", - "click #add_colour": "insertNewColourLine", - "click #add_group_by": "insertNewGroupLine", - "click input[type='radio'][name='colour']": "toggleColourDisplay", - "click .gv_internal_remove_line": "removeAttrLine", - "click #manageGraphs": "showGraphManager"*/ + "click #multiServerSymmetrical": "multiServerSymmetrical", + "click #multiServerAsymmetrical": "multiServerAsymmetrical", + "click #singleServer": "singleServer" }, - showGraphManager: function() { - window.App.navigate("graphManagement", {trigger: true}); - }, - -/* - removeAttrLine: function(e) { - var g = $(e.currentTarget) - .parent() - .parent(), - set = g.parent(); - set.get(0).removeChild(g.get(0)); - }, -*/ - - - render: function() { $(this.el).html(this.template.render({})); + }, + multiServerSymmetrical: function() { + window.App.navigate( + "planSymmetrical", {trigger: true} + ); + }, + multiServerAsymmetrical: function() { + window.App.navigate( + "planAsymmetrical", {trigger: true} + ); + }, + singleServer: function() { + window.App.navigate( + "planTest", {trigger: true} + ); } - }); }()); diff --git a/js/apps/system/aardvark/test/karma/karma_planner.conf.js b/js/apps/system/aardvark/test/karma/karma_planner.conf.js new file mode 100644 index 0000000000..8690e096ea --- /dev/null +++ b/js/apps/system/aardvark/test/karma/karma_planner.conf.js @@ -0,0 +1,260 @@ +// Karma configuration +// Generated on Thu Jul 04 2013 11:39:34 GMT+0200 (CEST) + +module.exports = function(karma) { + + karma.set({ + + // base path, that will be used to resolve files and exclude + basePath: '../../', + + + // frameworks to use + //frameworks: ['jasmine', 'junit-reporter'], + frameworks: ['jasmine'], + + // list of files / patterns to load in the browser + files: [ + 'test/lib/jasmine-1.3.1/jasmine-html.js', + 'test/lib/jslint.js', + + 'frontend/js/lib/jquery-1.8.3.js', + 'frontend/js/lib/jquery-ui-1.9.2.custom.js', + 'frontend/js/lib/jquery.dataTables.js', + 'frontend/js/lib/jquery.autogrow.js', + 'frontend/js/lib/jquery.jeditable.js', + 'frontend/js/lib/jquery.jeditable.autogrow.js', + 'frontend/js/lib/jquery.snippet.js', + 'frontend/js/lib/jquery.gritter.js', + 'frontend/js/lib/jquery.slideto.min.js', + 'frontend/js/lib/jquery.wiggle.min.js', + 'frontend/js/lib/jquery.ba-bbq.min.js', + 'frontend/js/lib/jquery.contextmenu.js', + 'frontend/js/lib/handlebars-1.0.rc.1.js', + 'frontend/js/lib/underscore.js', + 'frontend/js/lib/backbone.js', + 'frontend/js/lib/d3.v3.min.js', + 'frontend/js/lib/nv.d3.js', + 'frontend/js/lib/d3.fisheye.js', + 'frontend/js/lib/ejs_0.9_alpha_1_production.js', + 'frontend/js/lib/ColVis.js', + 'frontend/js/lib/bootstrap.js', + 'frontend/js/lib/bootstrap-pagination.js', + 'frontend/src/ace.js', + 'frontend/js/lib/jqconsole.min.js', + 'frontend/js/lib/splitter.js', + 'frontend/js/lib/swagger.js', + 'frontend/js/lib/swagger-ui.js', + 'frontend/js/lib/highlight.7.3.pack.js', + + // arangodb + 'frontend/js/arango/arango.js', + 'frontend/js/arango/templateEngine.js', + 'frontend/js/shell/browser.js', + 'frontend/js/modules/org/arangodb/arango-collection-common.js', + 'frontend/js/modules/org/arangodb/arango-collection.js', + 'frontend/js/modules/org/arangodb/arango-database.js', + 'frontend/js/modules/org/arangodb/arango-query-cursor.js', + 'frontend/js/modules/org/arangodb/arango-statement-common.js', + 'frontend/js/modules/org/arangodb/arango-statement.js', + 'frontend/js/modules/org/arangodb/arangosh.js', + 'frontend/js/modules/org/arangodb/graph-common.js', + 'frontend/js/modules/org/arangodb/graph.js', + 'frontend/js/modules/org/arangodb/mimetypes.js', + 'frontend/js/modules/org/arangodb/simple-query-common.js', + 'frontend/js/modules/org/arangodb/simple-query.js', + 'frontend/js/modules/org/arangodb/aql/functions.js', + 'frontend/js/modules/org/arangodb/graph/traversal.js', + 'frontend/js/modules/org/arangodb-common.js', + 'frontend/js/modules/org/arangodb.js', + 'frontend/js/bootstrap/errors.js', + 'frontend/js/bootstrap/monkeypatches.js', + 'frontend/js/bootstrap/module-internal.js', + 'frontend/js/client/bootstrap/module-internal.js', + 'frontend/js/client/client.js', + + // Mocks + 'test/mocks/disableEJS.js', + 'test/specs/graphViewer/helper/eventHelper.js', + 'test/specs/graphViewer/helper/objectsHelper.js', + 'test/specs/graphViewer/helper/mocks.js', + 'test/specs/graphViewer/helper/commMock.js', + 'test/specs/graphViewer/helper/uiMatchers.js', + + + + // GraphViewer + // Core Modules + 'frontend/js/graphViewer/graphViewer.js', + 'frontend/js/graphViewer/graph/domObserverFactory.js', + 'frontend/js/graphViewer/graph/colourMapper.js', + 'frontend/js/graphViewer/graph/communityNode.js', + 'frontend/js/graphViewer/graph/webWorkerWrapper.js', + 'frontend/js/graphViewer/graph/nodeShaper.js', + 'frontend/js/graphViewer/graph/abstractAdapter.js', + 'frontend/js/graphViewer/graph/JSONAdapter.js', + 'frontend/js/graphViewer/graph/arangoAdapter.js', + 'frontend/js/graphViewer/graph/foxxAdapter.js', + 'frontend/js/graphViewer/graph/previewAdapter.js', + 'frontend/js/graphViewer/graph/edgeShaper.js', + 'frontend/js/graphViewer/graph/forceLayouter.js', + 'frontend/js/graphViewer/graph/eventDispatcher.js', + 'frontend/js/graphViewer/graph/eventLibrary.js', + 'frontend/js/graphViewer/graph/zoomManager.js', + 'frontend/js/graphViewer/graph/nodeReducer.js', + 'frontend/js/graphViewer/graph/modularityJoiner.js', + + // UI Modules + 'frontend/js/graphViewer/ui/modalDialogHelper.js', + 'frontend/js/graphViewer/ui/contextMenuHelper.js', + 'frontend/js/graphViewer/ui/nodeShaperControls.js', + 'frontend/js/graphViewer/ui/edgeShaperControls.js', + 'frontend/js/graphViewer/ui/arangoAdapterControls.js', + 'frontend/js/graphViewer/ui/layouterControls.js', + 'frontend/js/graphViewer/ui/uiComponentsHelper.js', + 'frontend/js/graphViewer/ui/eventDispatcherControls.js', + 'frontend/js/graphViewer/ui/graphViewerUI.js', + 'frontend/js/graphViewer/ui/graphViewerWidget.js', + 'frontend/js/graphViewer/ui/graphViewerPreview.js', + + // Models + 'frontend/js/models/currentDatabase.js', + 'frontend/js/models/arangoCollection.js', + 'frontend/js/models/arangoDatabase.js', + 'frontend/js/models/arangoDocument.js', + 'frontend/js/models/arangoLog.js', + 'frontend/js/models/arangoStatistics.js', + 'frontend/js/models/arangoStatisticsDescription.js', + 'frontend/js/models/foxx.js', + 'frontend/js/models/graph.js', + 'frontend/js/models/clusterServer.js', + 'frontend/js/models/clusterCoordinator.js', + 'frontend/js/models/clusterDatabase.js', + 'frontend/js/models/clusterCollection.js', + 'frontend/js/models/clusterShard.js', + + // Collections + 'frontend/js/collections/arangoCollections.js', + 'frontend/js/collections/arangoDocuments.js', + 'frontend/js/collections/arangoDocument.js', + 'frontend/js/collections/arangoDatabase.js', + 'frontend/js/collections/arangoLogs.js', + 'frontend/js/collections/arangoSession.js', + 'frontend/js/collections/arangoStatisticsCollection.js', + 'frontend/js/collections/arangoStatisticsDescriptionCollection.js', + 'frontend/js/collections/foxxCollection.js', + 'frontend/js/collections/graphCollection.js', + 'frontend/js/collections/clusterServers.js', + 'frontend/js/collections/clusterCoordinators.js', + 'frontend/js/collections/clusterDatabases.js', + 'frontend/js/collections/clusterCollections.js', + 'frontend/js/collections/clusterShards.js', + + // Views + 'frontend/js/views/navigationView.js', + 'frontend/js/views/apiView.js', + 'frontend/js/views/footerView.js', + 'frontend/js/views/queryView.js', + 'frontend/js/views/shellView.js', + 'frontend/js/views/dashboardView.js', + 'frontend/js/views/collectionsView.js', + 'frontend/js/views/collectionView.js', + 'frontend/js/views/collectionInfoView.js', + 'frontend/js/views/newCollectionView.js', + 'frontend/js/views/collectionsItemView.js', + 'frontend/js/views/documentsView.js', + 'frontend/js/views/documentView.js', + 'frontend/js/views/documentSourceView.js', + 'frontend/js/views/logsView.js', + 'frontend/js/views/applicationsView.js', + 'frontend/js/views/foxxActiveView.js', + 'frontend/js/views/foxxActiveListView.js', + 'frontend/js/views/foxxInstalledView.js', + 'frontend/js/views/foxxInstalledListView.js', + 'frontend/js/views/foxxEditView.js', + 'frontend/js/views/foxxMountView.js', + 'frontend/js/views/appDocumentationView.js', + 'frontend/js/views/graphView.js', + 'frontend/js/views/graphManagementView.js', + 'frontend/js/views/addNewGraphView.js', + 'frontend/js/views/deleteGraphView.js', + 'frontend/js/views/dbSelectionView.js', + 'frontend/js/views/editListEntryView.js', + 'frontend/js/views/loginView.js', + 'frontend/js/views/clusterDashboardView.js', + 'frontend/js/views/clusterOverviewView.js', + 'frontend/js/views/clusterServerView.js', + 'frontend/js/views/clusterCoordinatorView.js', + 'frontend/js/views/clusterDatabaseView.js', + 'frontend/js/views/clusterCollectionView.js', + 'frontend/js/views/clusterShardsView.js', + + //Views Planner + 'plannerFrontend/js/views/planScenarioSelectorView.js', + 'plannerFrontend/js/views/planTestView.js', + + + // Router + 'frontend/js/routers/router.js', + 'plannerFrontend/js/routers/plannerRouter.js', + + //Templates + {pattern: 'frontend/js/templates/*.ejs', served:true, included:false, watched: true}, + {pattern: 'plannerFrontend/js/templates/*.ejs', served:true, included:false, watched: true}, + // Specs + // GraphViewer + //Router + 'test/specs/planner/router/routerSpec.js', + 'test/specs/planner/views/planScenarioSelectorViewSpec.js' + + ], + + + // list of files to exclude + exclude: [ + + ], + + // test results reporter to use + // possible values: 'dots', 'progress', 'junit', 'growl', 'coverage' + reporters: ['dots'], + + // web server port + port: 9876, + + + // cli runner port + runnerPort: 9100, + + // enable / disable colors in the output (reporters and logs) + colors: false, + + + // level of logging + // possible values: karma.LOG_DISABLE || karma.LOG_ERROR || karma.LOG_WARN || karma.LOG_INFO || karma.LOG_DEBUG + logLevel: karma.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + + // Start these browsers, currently available: + // - Chrome + // - ChromeCanary + // - Firefox + // - Opera + // - Safari (only Mac) + // - PhantomJS + // - IE (only Windows) + browsers: ["PhantomJS", "Firefox"], + + // If browser does not capture in given timeout [ms], kill it + captureTimeout: 60000, + + + // Continuous Integration mode + // if true, it capture browsers, run tests and exit + singleRun: true + }); +}; diff --git a/js/apps/system/aardvark/test/specs/planner/views/planScenarioSelectorViewSpec.js b/js/apps/system/aardvark/test/specs/planner/views/planScenarioSelectorViewSpec.js index 18fe09914d..e56052bd56 100644 --- a/js/apps/system/aardvark/test/specs/planner/views/planScenarioSelectorViewSpec.js +++ b/js/apps/system/aardvark/test/specs/planner/views/planScenarioSelectorViewSpec.js @@ -7,16 +7,16 @@ describe("PlanScenarioSelector View", function() { - var myView; - window.App = function() {}; - window.App.navigate = function() {}; + var myView; beforeEach(function() { - $('body').append('
    '); - - myView = new window.CollectionView({ - model: arangoCollection - }); + $('body').append('
    '); + window.App = { + navigate: function() {} + }; + spyOn(window.App, "navigate"); + myView = new window.PlanScenarioSelectorView(); + myView.render(); }); @@ -25,21 +25,22 @@ }); - describe("Collection Changes", function() { - it("Check if changes were submitted", function() { + describe("select scenario", function() { + it("multiServerSymmetrical", function() { + $("#multiServerSymmetrical").click(); + expect(App.navigate).toHaveBeenCalledWith("planSymmetrical", {trigger: true}); - var pressedEnter = false; - myView.render(); - - spyOn(myView, 'saveModifiedCollection').andCallFake(function(request) { - pressedEnter = true; }); - myView.saveModifiedCollection(); - expect(pressedEnter).toBeTruthy(); - }); - + it("multiServerAsymmetrical", function() { + $("#multiServerAsymmetrical").click(); + expect(App.navigate).toHaveBeenCalledWith("planAsymmetrical", {trigger: true}); + }); + it("singleServer", function() { + $("#singleServer").click(); + expect(App.navigate).toHaveBeenCalledWith("planTest", {trigger: true}); + }); }); }); }());