[IMP] Added blog UI test
bzr revid: ddm@openerp.com-20140102151115-16mlisduee7zav6g
This commit is contained in:
parent
c71318e342
commit
0e430008bd
|
@ -291,6 +291,7 @@
|
|||
var self = this;
|
||||
var testId = 'test_'+tour.id+'_tour';
|
||||
this.tours.push(tour);
|
||||
var stepDelay = 100; //ms
|
||||
var test = {
|
||||
id: tour.id,
|
||||
run: function (force) {
|
||||
|
@ -309,8 +310,8 @@
|
|||
setTimeout(function () {
|
||||
setTimeout(function () {
|
||||
executeStep(nextStep);
|
||||
}, 10);
|
||||
}, 10);
|
||||
}, stepDelay);
|
||||
}, 0);
|
||||
} else {
|
||||
window.localStorage.removeItem(testId);
|
||||
}
|
||||
|
@ -319,13 +320,7 @@
|
|||
if (step.snippet && step.trigger === 'drag') {
|
||||
website.TestConsole.dragAndDropSnippet(step.snippet);
|
||||
} else if (step.trigger.id === 'change') {
|
||||
var currentValue = $element.val();
|
||||
var options = $element[0].options;
|
||||
// FIXME: It may be necessary to set a particular value
|
||||
var newValue = _.find(options, function (option) {
|
||||
return option.value !== currentValue;
|
||||
}).value;
|
||||
$element.val(newValue).trigger($.Event("change"));
|
||||
$element.trigger($.Event("change", { srcElement: $element }));
|
||||
} else {
|
||||
$element.trigger($.Event("click", { srcElement: $element }));
|
||||
}
|
||||
|
@ -350,8 +345,8 @@
|
|||
setTimeout(function () {
|
||||
setTimeout(function () {
|
||||
executeStep(currentStep);
|
||||
}, 10);
|
||||
}, 10);
|
||||
}, stepDelay);
|
||||
}, 0);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -81,7 +81,7 @@ class WebsiteUiSuite(unittest.TestSuite):
|
|||
|
||||
phantom = subprocess.Popen([
|
||||
'phantomjs',
|
||||
os.path.join(os.path.join(os.path.dirname(__file__), 'ui_suite'), self._testfile),
|
||||
self._testfile,
|
||||
json.dumps(self._options)
|
||||
], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
|
||||
|
@ -132,8 +132,11 @@ class WebsiteUiSuite(unittest.TestSuite):
|
|||
except ValueError:
|
||||
result.addError(self._test, 'Unexpected message: "%s"' % "\n".join(lines))
|
||||
|
||||
def full_path(filename):
|
||||
return os.path.join(os.path.join(os.path.dirname(__file__), 'ui_suite'), filename)
|
||||
|
||||
def load_tests(loader, base, _):
|
||||
base.addTest(WebsiteUiSuite('dummy_test.js', {}))
|
||||
base.addTest(WebsiteUiSuite('simple_dom_test.js', { 'action': 'website.action_website_homepage' }, 120.0))
|
||||
base.addTest(WebsiteUiSuite('homepage_test.js', { 'action': 'website.action_website_homepage' }, 120.0))
|
||||
base.addTest(WebsiteUiSuite(full_path('dummy_test.js'), {}))
|
||||
base.addTest(WebsiteUiSuite(full_path('simple_dom_test.js'), { 'action': 'website.action_website_homepage' }, 120.0))
|
||||
base.addTest(WebsiteUiSuite(full_path('homepage_test.js'), { 'action': 'website.action_website_homepage' }, 120.0))
|
||||
return base
|
||||
|
|
|
@ -11,6 +11,9 @@ testRunner.run(function homepageTest (page) {
|
|||
&& window.openerp.website.TestConsole.test('banner');
|
||||
});
|
||||
}, function executeTest () {
|
||||
page.onResourceError = function(error) {
|
||||
console.log('{ "event": "error", "message": "'+error.url+' failed to load ('+error.errorString+') "}');
|
||||
};
|
||||
var before = page.evaluate(function () {
|
||||
var result = {
|
||||
carousel: $('#wrap [data-snippet-id=carousel]').length,
|
||||
|
|
|
@ -43,17 +43,26 @@ function run (test) {
|
|||
page.viewportSize = { width: 1920, height: 1080 };
|
||||
|
||||
page.onError = function(message, trace) {
|
||||
|
||||
console.log('{ "event": "error", "message": "'+message+'"}');
|
||||
phantom.exit(1);
|
||||
};
|
||||
page.onAlert = function(message) {
|
||||
console.log(message);
|
||||
phantom.exit(1);
|
||||
};
|
||||
page.onConsoleMessage = function(message) {
|
||||
console.log(message);
|
||||
phantom.exit(1);
|
||||
};
|
||||
|
||||
page.open(url, function (status) {
|
||||
if (status !== 'success') {
|
||||
console.log('{ "event": "error", "message": "'+url+' failed to load"}');
|
||||
phantom.exit(1);
|
||||
} else {
|
||||
test(page);
|
||||
page.onLoadFinished = function(status) {
|
||||
test(page);
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
from openerp.addons.website_blog.tests import test_controllers
|
||||
|
||||
import test_ui
|
||||
|
||||
checks = [
|
||||
test_controllers,
|
||||
]
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
import os
|
||||
|
||||
import openerp.addons.website.tests.test_ui as test_ui
|
||||
|
||||
def full_path(filename):
|
||||
return os.path.join(os.path.join(os.path.dirname(__file__), 'ui_suite'), filename)
|
||||
|
||||
def load_tests(loader, base, _):
|
||||
base.addTest(test_ui.WebsiteUiSuite(full_path('post_test.js'), { 'action': 'website.action_website_homepage' }, 120.0))
|
||||
return base
|
|
@ -0,0 +1,37 @@
|
|||
var testRunner = require('../../../website/tests/ui_suite/ui_test_runner.js');
|
||||
|
||||
var waitFor = testRunner.waitFor;
|
||||
|
||||
testRunner.run(function homepageTest (page) {
|
||||
page.evaluate(function () { localStorage.clear(); });
|
||||
waitFor(function clientReady () {
|
||||
return page.evaluate(function () {
|
||||
return window.openerp && window.openerp.website
|
||||
&& window.openerp.website.TestConsole
|
||||
&& window.openerp.website.TestConsole.test('blog');
|
||||
});
|
||||
}, function executeTest () {
|
||||
page.onResourceError = function(error) {
|
||||
console.log('{ "event": "error", "message": "'+error.url+' failed to load ('+error.errorString+') "}');
|
||||
};
|
||||
page.evaluate(function () {
|
||||
window.openerp.website.TestConsole.test('blog').run(true);
|
||||
});
|
||||
waitFor(function testExecuted () {
|
||||
var after = page.evaluate(function () {
|
||||
return $('button[data-action=edit]').is(":visible") && {
|
||||
image: $('#wrap [data-snippet-id=image-text]').length,
|
||||
text: $('#wrap [data-snippet-id=text-block]').length,
|
||||
};
|
||||
});
|
||||
var result = after && (after.image === 1) && (after.text === 1);
|
||||
if (!result && window.location.href.indexOf('/blogpost/') > 0) {
|
||||
window.location.reload();
|
||||
}
|
||||
return result;
|
||||
}, function finish () {
|
||||
console.log('{ "event": "success" }');
|
||||
phantom.exit();
|
||||
}, 90000);
|
||||
}, 20000);
|
||||
});
|
Loading…
Reference in New Issue