Commit 32832200 authored by Richard's avatar Richard Committed by Vincent Bechu

[erp5_officejs_ui_test]: update notebook test to new officejs install template and ERP5Synch test

parent 621d2b24
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
<script src="rsvp.js"></script> <script src="rsvp.js"></script>
<script src="renderjs.js"></script> <script src="renderjs.js"></script>
<script src="jio.js"></script>
<script src="gadget_officejs_jio_notebook.js"></script> <script src="gadget_officejs_jio_notebook.js"></script>
<link rel="stylesheet" href="iodide_master.css"> <link rel="stylesheet" href="iodide_master.css">
...@@ -16,5 +15,6 @@ ...@@ -16,5 +15,6 @@
<body> <body>
<div id='page'></div> <div id='page'></div>
<script id="jsmd" type="text/jsmd"></script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -19,21 +19,25 @@ ...@@ -19,21 +19,25 @@
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
.declareMethod("render", function (options) { .declareMethod("render", function (options) {
this.options = options; return this.changeState({
var script = document.createElement('script'); key: options.key,
script.setAttribute('id', 'jsmd'); value: options.value,
script.setAttribute('type', 'text/jsmd'); first_render: true
script.innerHTML = options.value; });
document.body.appendChild(script); })
.onStateChange(function (modified_dict) {
var iodide = document.createElement("script"); this.element.querySelector('script').textContent = this.state.value;
iodide.src = "iodide_master.js"; if (!modified_dict.hasOwnProperty('first_render')) {
document.body.appendChild(iodide); throw new Error('Sorry, it is not possible to dynamically change the iodide content');
}
var iodide = document.createElement("script");
iodide.src = "iodide_master.js";
this.element.appendChild(iodide);
}) })
.declareMethod("getContent", function () { .declareMethod("getContent", function () {
var dict = {}; var dict = {};
dict[this.options.key] = localStorage.getItem('AUTOSAVE: untitled'); dict[this.state.key] = localStorage.getItem('AUTOSAVE: untitled');
return dict; return dict;
}); });
}(window, rJS, RSVP)); }(window, rJS, RSVP));
\ No newline at end of file
...@@ -23,69 +23,11 @@ ...@@ -23,69 +23,11 @@
<td>Reset Successfully.</td> <td>Reset Successfully.</td>
<td></td> <td></td>
</tr> </tr>
<!-- Initialize --> <tal:block tal:define="web_site_name python: 'officejs_notebook'">
<tr> <tal:block
<td>open</td> metal:use-macro="here/Zuite_CommonTemplateForOfficejsUi/macros/install_offline_and_redirect"
<td>${base_url}/web_site_module/officejs_notebook?ignore_layout:int=1&editable_mode:int=1</td> />
<td></td> </tal:block>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>name=Base_createCloneDocument:method</td>
<td></td>field_my_id
</tr>
<tr>
<td>clickAndWait</td>
<td>name=Base_createCloneDocument:method</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Created Clone Web Site</td>
<td></td>
</tr>
<tr>
<td>storeValue</td>
<td>name=field_my_id</td>
<td>test_url</td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
<tr>
<td>open</td>
<td>${base_url}/web_site_module/${test_url}/</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//a[@data-i18n='Storages']</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>${base_url}/web_site_module/manage_main</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>name=ids:list</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>name=ids:list</td>
<td>${test_url}</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>name=manage_delObjects:method</td>
<td></td>
</tr>
<!-- Offline Test -->
<tr>
<td>open</td>
<td>${base_url}/web_site_module/${test_url}/</td>
<td></td>
</tr>
<tr> <tr>
<td>waitForElementPresent</td> <td>waitForElementPresent</td>
<td>//a[@data-i18n='Storages']</td> <td>//a[@data-i18n='Storages']</td>
......
...@@ -27,6 +27,12 @@ ...@@ -27,6 +27,12 @@
<td>${base_url}/web_site_module/officejs_notebook/</td> <td>${base_url}/web_site_module/officejs_notebook/</td>
<td></td> <td></td>
</tr> </tr>
!-- Install can be longer than 90s -->
<tr>
<td>waitForCondition</td>
<td>selenium.browserbot.currentWindow.applicationCache.status !== window.applicationCache.DOWNLOADING</td>
<td>50000</td>
</tr>
<tr> <tr>
<td>waitForElementPresent</td> <td>waitForElementPresent</td>
<td>link=Storages</td> <td>link=Storages</td>
...@@ -212,7 +218,7 @@ For that I'm using this undocumented triggerOnKeyDown() method --> ...@@ -212,7 +218,7 @@ For that I'm using this undocumented triggerOnKeyDown() method -->
<td></td> <td></td>
</tr> </tr>
<tal:block tal:define="search_query python: 'Titre'"> <tal:block tal:define="search_query python: 'Titre'">
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/search_in_form_list_without_header_url" /> <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/search_in_form_list" />
</tal:block> </tal:block>
<tr> <tr>
<td>waitForElementPresent</td> <td>waitForElementPresent</td>
...@@ -345,8 +351,8 @@ For that I'm using this undocumented triggerOnKeyDown() method --> ...@@ -345,8 +351,8 @@ For that I'm using this undocumented triggerOnKeyDown() method -->
<td></td> <td></td>
</tr> </tr>
<tr> <tr>
<td>assertTextPresent</td> <td>waitForElementPresent</td>
<td>Done.</td> <td>//pre[contains(text(), Done.)]</td>
<td></td> <td></td>
</tr> </tr>
<tr> <tr>
......
...@@ -72,12 +72,14 @@ lockGadgetInQueue, unlockGadgetInQueue, unlockGadgetInFailedQueue*/ ...@@ -72,12 +72,14 @@ lockGadgetInQueue, unlockGadgetInQueue, unlockGadgetInFailedQueue*/
queue = lockGadgetInQueue(gadget)(); queue = lockGadgetInQueue(gadget)();
if ((modification_dict.hasOwnProperty('editable')) || if ((modification_dict.hasOwnProperty('editable')) ||
(modification_dict.hasOwnProperty('editor'))) { (modification_dict.hasOwnProperty('editor')) ||
(gadget.state.editor == 'notebook_editor')) {
// Clear first to DOM, append after to reduce flickering/manip // Clear first to DOM, append after to reduce flickering/manip
while (element.firstChild) { while (element.firstChild) {
element.removeChild(element.firstChild); element.removeChild(element.firstChild);
} }
if (modification_dict.hasOwnProperty('maximize')) { if (modification_dict.hasOwnProperty('maximize') ||
(gadget.state.editor == 'notebook_editor')) {
// for fck_editor fields, we want to be able to maximize also in non editable // for fck_editor fields, we want to be able to maximize also in non editable
if ((gadget.state.maximize && gadget.state.editable) || if ((gadget.state.maximize && gadget.state.editable) ||
(gadget.state.maximize && gadget.state.editor === 'fck_editor')) { (gadget.state.maximize && gadget.state.editor === 'fck_editor')) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment