Files
edx-platform/cms/static/js/spec_helpers/assertion_helpers.js
Syed Ali Abbas Zaidi 5549db4d80 fix: migrate remaining eslint-config-edx (#31760)
* fix: migrate remaining eslint-config-edx

* refactor: updated eslint rules according to eslint-config-edx-es5

* refactor: add custom rules to suppress unnecessary eslint issues

* refactor: add custom rules to internal eslint configs

* fix: fix all indentation issues

* chore: update lock file
2023-03-02 16:16:50 +05:00

89 lines
3.6 KiB
JavaScript

/**
* Provides helper methods for invoking Studio modal windows in Jasmine tests.
*/
define(['jquery', 'common/js/components/views/feedback_notification', 'common/js/components/views/feedback_prompt',
'common/js/spec_helpers/template_helpers'],
function($, NotificationView, Prompt, TemplateHelpers) {
var installViewTemplates, createFeedbackSpy, verifyFeedbackShowing,
verifyFeedbackHidden, createNotificationSpy, verifyNotificationShowing,
verifyNotificationHidden, createPromptSpy, confirmPrompt, inlineEdit, verifyInlineEditChange,
installMockAnalytics, removeMockAnalytics, verifyPromptShowing, verifyPromptHidden;
assertDetailsView = function(view, text) {
expect(view.$el).toContainText(text);
expect(view.$el).toContainText('ID: 0');
expect(view.$('.delete')).toExist();
};
assertControllerView = function(view, detailsView, editView) {
// Details view by default
expect(view.$(detailsView)).toExist();
view.$('.action-edit .edit').click();
expect(view.$(editView)).toExist();
expect(view.$(detailsView)).not.toExist();
view.$('.action-cancel').click();
expect(view.$(detailsView)).toExist();
expect(view.$(editView)).not.toExist();
};
assertAndDeleteItemError = function(that, url, promptText) {
var requests = AjaxHelpers.requests(that),
promptSpy = ViewHelpers.createPromptSpy(),
notificationSpy = ViewHelpers.createNotificationSpy();
clickDeleteItem(that, promptSpy, promptText);
patchAndVerifyRequest(requests, url, notificationSpy);
AjaxHelpers.respondToDelete(requests);
ViewHelpers.verifyNotificationHidden(notificationSpy);
expect($(SELECTORS.itemView)).not.toExist();
};
assertAndDeleteItemWithError = function(that, url, listItemView, promptText) {
var requests = AjaxHelpers.requests(that),
promptSpy = ViewHelpers.createPromptSpy(),
notificationSpy = ViewHelpers.createNotificationSpy();
clickDeleteItem(that, promptSpy, promptText);
patchAndVerifyRequest(requests, url, notificationSpy);
AjaxHelpers.respondWithError(requests);
ViewHelpers.verifyNotificationShowing(notificationSpy, /Deleting/);
expect($(listItemView)).toExist();
};
assertUnusedOptions = function(that) {
that.model.set('usage', []);
that.view.render();
expect(that.view.$(SELECTORS.warningMessage)).not.toExist();
expect(that.view.$(SELECTORS.warningIcon)).not.toExist();
};
assertCannotDeleteUsed = function(that, toolTipText, warningText) {
setUsageInfo(that.model);
that.view.render();
expect(that.view.$(SELECTORS.note)).toHaveAttr(
'data-tooltip', toolTipText
);
expect(that.view.$(SELECTORS.warningMessage)).toContainText(warningText);
expect(that.view.$(SELECTORS.warningIcon)).toExist();
expect(that.view.$('.delete')).toHaveClass('is-disabled');
};
return {
installViewTemplates: installViewTemplates,
createNotificationSpy: createNotificationSpy,
verifyNotificationShowing: verifyNotificationShowing,
verifyNotificationHidden: verifyNotificationHidden,
confirmPrompt: confirmPrompt,
createPromptSpy: createPromptSpy,
verifyPromptShowing: verifyPromptShowing,
verifyPromptHidden: verifyPromptHidden,
inlineEdit: inlineEdit,
verifyInlineEditChange: verifyInlineEditChange,
installMockAnalytics: installMockAnalytics,
removeMockAnalytics: removeMockAnalytics
};
});