onRender: function () {
ModalFormView.prototype.onRender.apply(this, arguments);
this.keyModifiedByUser = false;
+ this.ui.manualRuleCreationReactivate.addClass('hidden');
},
generateKey: function () {
flagKey: function () {
this.keyModifiedByUser = true;
- // Cannot use @ui.manualRuleCreationReactivate.hide() directly since it was not there at initial render
- $(this.ui.manualRuleCreationReactivate.selector).hide();
},
create: function () {
}).fail(function (jqXHR) {
if (jqXHR.status === 409) {
that.existingRule = jqXHR.responseJSON.rule;
- that.$('.alert-warning').removeClass('hidden');
+ that.showErrors([], [{ msg: t('coding_rules.reactivate.help') }]);
+ that.ui.manualRuleCreationCreate.addClass('hidden');
+ that.ui.manualRuleCreationReactivate.removeClass('hidden');
} else {
that.showErrors(jqXHR.responseJSON.errors, jqXHR.responseJSON.warnings);
}
*/
/* global casper:false */
-var lib = require('../lib');
+var lib = require('../lib'),
+ testName = lib.testName('Coding Rules', 'Manual Rule');
lib.initMessages();
lib.changeWorkingDirectory('coding-rules-page-should-create-manual-rules');
lib.configureCasper();
-casper.test.begin('coding-rules-page-should-delete-manual-rules', 3, function (test) {
+casper.test.begin(testName('Create'), 3, function (test) {
casper
.start(lib.buildUrl('coding-rules'), function () {
lib.setDefaultViewport();
.then(function () {
casper.evaluate(function () {
- jQuery('.modal [name="name"]').val('Manual Rule');
- jQuery('.modal [name="key"]').val('manual:Manual_Rule');
+ jQuery('.modal [name="name"]').val('Manual Rule').keyup();
jQuery('.modal [name="markdown_description"]').val('Manual Rule Description');
jQuery('.modal #coding-rules-manual-rule-creation-create').click();
});
test.done();
});
});
+
+
+casper.test.begin(testName('Reactivate'), function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ this.createMock = lib.mockRequestFromFile('/api/rules/create', 'show.json', { status: 409 });
+ lib.mockRequestFromFile('/api/rules/show', 'show.json');
+ lib.mockRequest('/api/issues/search', '{}');
+ })
+
+ .then(function () {
+ casper.evaluate(function () {
+ require(['/js/coding-rules/app.js']);
+ jQuery.ajaxSetup({ dataType: 'json' });
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('.js-create-manual-rule', function () {
+ casper.click('.js-create-manual-rule');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('.modal');
+ })
+
+ .then(function () {
+ test.assertNotVisible('.modal #coding-rules-manual-rule-creation-reactivate');
+ test.assertVisible('.modal #coding-rules-manual-rule-creation-create');
+ casper.evaluate(function () {
+ jQuery('.modal [name="name"]').val('Manual Rule').keyup();
+ jQuery('.modal [name="markdown_description"]').val('Manual Rule Description');
+ jQuery('.modal #coding-rules-manual-rule-creation-create').click();
+ });
+ casper.waitForSelector('.modal .alert-warning');
+ })
+
+ .then(function () {
+ test.assertVisible('.modal #coding-rules-manual-rule-creation-reactivate');
+ test.assertNotVisible('.modal #coding-rules-manual-rule-creation-create');
+ lib.clearRequestMock(this.createMock);
+ lib.mockRequestFromFile('/api/rules/create', 'show.json');
+ casper.click('.modal #coding-rules-manual-rule-creation-reactivate');
+ casper.waitForSelector('.coding-rules-detail-header');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('.coding-rules-detail-header', 'Manual Rule');
+ test.assertSelectorContains('.coding-rule-details', 'manual:Manual_Rule');
+ test.assertSelectorContains('.coding-rules-detail-description', 'Manual Rule Description');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});