Skip to content
Snippets Groups Projects
Commit 36cfa454 authored by Oleksandr Miroshnichenko's avatar Oleksandr Miroshnichenko
Browse files

magento/magento2#12342: JSTestDriver removal

- Added translate-inline.test.js and removed JsTestDriver equivalent.
parent 35a1acab
Branches
No related merge requests found
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
TranslateInlineTest = TestCase('TranslateInlineTest');
TranslateInlineTest.prototype.testInit = function() {
/*:DOC += <script id="translate-form-template" type="text/x-magento-template">
</script>
<div data-role="translate-dialog"></div>
*/
var translateInline = jQuery('[data-role="translate-dialog"]').translateInline();
assertTrue(translateInline.is(':mage-translateInline'));
translateInline.translateInline('destroy');
};
TranslateInlineTest.prototype.testDialogOpenOnEdit = function() {
/*:DOC += <script id="translate-form-template" type="text/x-magento-template">
</script>
<div data-role="translate-dialog"></div>
*/
var options= {
dialog: {
id: 'dialog-id'
}
};
var translateInline = jQuery('[data-role="translate-dialog"]').translateInline(options),
isDialogHiddenOnInit = translateInline.is(':hidden');
translateInline.trigger('edit.editTrigger');
var dialogVisibleAfterTriggerEdit = translateInline.is(':visible');
assertTrue(isDialogHiddenOnInit);
assertTrue(dialogVisibleAfterTriggerEdit);
translateInline.translateInline('destroy');
};
TranslateInlineTest.prototype.testTranslationFormTemplate = function() {
/*:DOC += <script id="translate-form-template" type="text/x-magento-template">
<form id="<%= data.id %>"><%= data.newTemplateVariable %></form>
</script>
<div data-role="translate-dialog"></div>
*/
var options = {
translateForm: {
data:{
id: 'translate-form-id',
newTemplateVariable: 'New Template Variable'
}
}
},
translateInline = jQuery('[data-role="translate-dialog"]').translateInline(options);
translateInline.trigger('edit.editTrigger');
var translateForm = jQuery('#' + options.translateForm.data.id);
assertTrue(translateForm.size() > 0);
assertEquals(translateForm.text(), options.translateForm.data.newTemplateVariable);
translateInline.translateInline('destroy');
};
// @TODO Need to be fixed to avoid errors on the bamboo server in context of MAGETWO-5085 ticket
/*TranslateInlineTest.prototype._testTranslateFormSubmit = function() {
FORM_KEY = 'form_key';
var options = {
ajaxUrl: 'www.test.com',
area: 'test',
translateForm: {
template:'<form id="<%= data.id %>"><input name="test" value="test" /></form>',
data:{
id: 'translate-form-id'
}
},
dialog: {
id: 'dialog-id',
buttons : [{
'class': 'submit-button'
}]
}
},
translateInline = jQuery(document).translateInline(options),
submit = jQuery('.ui-dialog-buttonset .submit-button'),
ajaxParametersCorrect = false;
translateInline.trigger('edit.editTrigger');
var parameters = jQuery.param({area: options.area}) +
'&' + jQuery('#' + options.translateForm.data.id).serialize(),
dialog = jQuery('#' + options.dialog.id),
dialogVisibleOnAjaxSend = false,
dialogHiddenAfterAjaxComplete = false;
jQuery(document)
.on('ajaxSend', function(e, jqXHR, settings){
jqXHR.abort();
dialogVisibleOnAjaxSend = dialog.is(':visible');
ajaxParametersCorrect = settings.data.indexOf(parameters) >= 0;
jQuery(this).trigger('ajaxComplete');
});
submit.trigger('click');
assertEquals(true, dialogVisibleOnAjaxSend);
assertEquals(true, ajaxParametersCorrect);
assertEquals(true, dialog.is(':hidden'));
translateInline.translateInline('destroy');
};*/
TranslateInlineTest.prototype.testDestroy = function() {
/*:DOC += <script id="translate-form-template" type="text/x-magento-template">
<form id="<%= data.id %>"><%= data.newTemplateVariable %></form>
</script>
<div data-role="translate-dialog"></div>
<img id="edit-trigger-id">
*/
var options = {
translateForm: {
data:{
id: 'translate-form-id',
newTemplateVariable: ''
}
}
},
translateInline = jQuery('[data-role="translate-dialog"]').translateInline(options),
editTrigger = jQuery('#edit-trigger-id').editTrigger(),
editTriggerCreated = editTrigger.size() && jQuery('#edit-trigger-id').is(':mage-editTrigger'),
editTriggerEventIsBound = false;
assertTrue(translateInline.is(':mage-translateInline'));
assertTrue(editTriggerCreated);
translateInline.on('edit.editTrigger', function(){editTriggerEventIsBound = true;});
translateInline.translateInline('destroy');
translateInline.trigger('edit.editTrigger');
assertFalse(translateInline.is(':mage-translateInline'));
assertFalse(editTriggerEventIsBound);
};
<script id="translate-form-template" type="text/x-magento-template">
<form id="<%= data.id %>"><%= data.newTemplateVariable %></form>
</script>
<div data-role="translate-dialog"></div>
\ No newline at end of file
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/* eslint-disable max-nested-callbacks */
define([
'jquery',
'mage/translate-inline',
'text!tests/assets/lib/web/mage/translate-inline.html'
], function ($, TranslateInline, translateTmpl) {
'use strict';
describe('mage/translate-inline', function () {
describe('Check translate', function () {
var translateSelector = '[data-role="translate-dialog"]',
translateTemplateSelector = '#translate-form-template';
beforeEach(function () {
var translateBlock = $(translateTmpl);
$('body').append(translateBlock);
});
afterEach(function () {
$(translateSelector).remove();
$(translateSelector).translateInline('destroy');
$(translateTemplateSelector).remove();
});
it('Check that translate inited', function () {
var translateInline = $(translateSelector).translateInline();
expect(translateInline.is(':mage-translateInline')).toBe(true);
});
it('Check that translate hidden on init and visible on trigger', function () {
var translateInline = $(translateSelector).translateInline({
id: 'dialog-id'
}),
isDialogHiddenOnInit = translateInline.is(':hidden'),
dialogVisibleAfterTriggerEdit;
translateInline.trigger('edit.editTrigger');
dialogVisibleAfterTriggerEdit = translateInline.is(':visible');
expect(isDialogHiddenOnInit).toBe(true);
expect(dialogVisibleAfterTriggerEdit).toBe(true);
});
it('Check translation form template', function () {
var translateFormId = 'translate-form-id',
translateFormContent = 'New Template Variable',
translateInline = $(translateSelector).translateInline({
translateForm: {
data: {
id: translateFormId,
newTemplateVariable: translateFormContent
}
}
}),
$translateForm;
translateInline.trigger('edit.editTrigger');
$translateForm = $('#' + translateFormId);
expect($translateForm.length).toBeGreaterThan(0);
expect($translateForm.text()).toBe(translateFormContent);
});
it('Check translation submit', function () {
var options = {
ajaxUrl: 'www.test.com',
area: 'test',
translateForm: {
template: '<form id="<%= data.id %>"><input name="test" value="test" /></form>',
data: {
id: 'translate-form-id'
}
}
},
expectedEequestData = 'area=test&test=test',
translateInline = $(translateSelector).translateInline(options),
$submitButton = $('body').find('.action-primary');
$.ajax = jasmine.createSpy().and.callFake(function (request) {
expect(request.url).toBe(options.ajaxUrl);
expect(request.type).toBe('POST');
expect(request.data).toBe(expectedEequestData);
return {
complete: jasmine.createSpy()
};
});
translateInline.trigger('edit.editTrigger');
$submitButton.trigger('click');
});
it('Check translation destroy', function () {
var translateInline = $(translateSelector).translateInline();
translateInline.trigger('edit.editTrigger');
expect(translateInline.is(':mage-translateInline')).toBe(true);
translateInline.translateInline('destroy');
expect(translateInline.is(':mage-translateInline')).toBe(false);
});
});
});
});
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