Commit 8d5a842e by Usman Khalid

Added tests for javascript.

TNL-708wq
parent 29e270a1
......@@ -403,7 +403,7 @@
{
"template": "openassessmentblock/edit/oa_edit.html",
"context": {
"prompt": "How much do you like waffles?",
"prompts": [{ "description": "How much do you like waffles?" }, { "description": "How much do you like waffles 2?" }],
"title": "The most important of all questions.",
"submission_start": "2014-01-02T12:15",
"submission_due": "2014-10-01T04:53",
......@@ -484,7 +484,7 @@
{
"template": "openassessmentblock/edit/oa_edit.html",
"context": {
"prompt": "Test prompt",
"prompts": [{ "description": "How much do you like waffles?" }, { "description": "How much do you like waffles 2?" }],
"title": "Test title",
"submission_start": "2014-01-1T10:00:00",
"submission_due": "2014-10-1T10:00:00",
......
......@@ -30,7 +30,7 @@ describe("OpenAssessment.Server", function() {
);
};
var PROMPT = "Hello this is the prompt yes.";
var PROMPTS = [{"description": "Hello this is the prompt yes."}];
var FEEDBACK_PROMPT = "Prompt for feedback";
var FEEDBACK_DEFAULT_TEXT = "Default feedback response text";
......@@ -253,7 +253,7 @@ describe("OpenAssessment.Server", function() {
it("updates the XBlock's editor context definition", function() {
stubAjax(true, { success: true });
server.updateEditorContext({
prompt: PROMPT,
prompts: PROMPTS,
feedbackPrompt: FEEDBACK_PROMPT,
feedback_default_text: FEEDBACK_DEFAULT_TEXT,
title: TITLE,
......@@ -268,7 +268,7 @@ describe("OpenAssessment.Server", function() {
expect($.ajax).toHaveBeenCalledWith({
type: "POST", url: '/update_editor_context',
data: JSON.stringify({
prompt: PROMPT,
prompts: PROMPTS,
feedback_prompt: FEEDBACK_PROMPT,
feedback_default_text: FEEDBACK_DEFAULT_TEXT,
title: TITLE,
......
......@@ -43,7 +43,7 @@ describe("OpenAssessment.StudioView", function() {
var EXPECTED_SERVER_DATA = {
title: "The most important of all questions.",
prompt: "How much do you like waffles?",
prompts: [{"description": "How much do you like waffles?"}, {description : 'How much do you like waffles 2?'}],
feedbackPrompt: "",
submissionStart: "2014-01-02T12:15",
submissionDue: "2014-10-01T04:53",
......@@ -145,7 +145,7 @@ describe("OpenAssessment.StudioView", function() {
// Top-level attributes
expect(server.receivedData.title).toEqual(EXPECTED_SERVER_DATA.title);
expect(server.receivedData.prompt).toEqual(EXPECTED_SERVER_DATA.prompt);
expect(server.receivedData.prompts).toEqual(EXPECTED_SERVER_DATA.prompts);
expect(server.receivedData.feedbackPrompt).toEqual(EXPECTED_SERVER_DATA.feedbackPrompt);
expect(server.receivedData.submissionStart).toEqual(EXPECTED_SERVER_DATA.submissionStart);
expect(server.receivedData.submissionDue).toEqual(EXPECTED_SERVER_DATA.submissionDue);
......
......@@ -2,7 +2,7 @@
Tests for OpenAssessment prompt editing view.
**/
describe("OpenAssessment.EditPromptView", function() {
describe("OpenAssessment.EditPromptViews", function() {
var view = null;
......@@ -12,13 +12,38 @@ describe("OpenAssessment.EditPromptView", function() {
// Create the view
var element = $("#oa_prompt_editor_wrapper").get(0);
view = new OpenAssessment.EditPromptView(element);
view = new OpenAssessment.EditPromptsView(element);
});
it("sets and loads prompt text", function() {
view.promptText("");
expect(view.promptText()).toEqual("");
view.promptText("This is a test prompt!");
expect(view.promptText()).toEqual("This is a test prompt!");
it("reads prompts from the editor", function() {
// This assumes a particular structure of the DOM,
// which is set by the HTML fixture.
var prompts = view.promptsDefinition();
expect(prompts.length).toEqual(2);
expect(prompts[0]).toEqual({
"description": "How much do you like waffles?"
});
});
it("creates new prompts", function() {
// Delete all existing prompts
// Then add new prompts (created from a client-side template)
$.each(view.getAllPrompts(), function() { view.removePrompt(this); });
view.addPrompt();
view.addPrompt();
view.addPrompt();
var prompts = view.promptsDefinition();
expect(prompts.length).toEqual(3);
expect(prompts[0]).toEqual({
description: ""
});
expect(prompts[1]).toEqual({
description: ""
});
});
});
......@@ -87,7 +87,6 @@ OpenAssessment.Prompt.prototype = {
Returns:
object literal of the form:
{
'uuid': 'djn98jr4inu',
'description': 'Write a nice long essay about anything.'
}
**/
......@@ -95,15 +94,6 @@ OpenAssessment.Prompt.prototype = {
var fields = {
description: this.description()
};
// New prompts won't have unique uuids assigned.
// By convention, we exclude the "uuid" key from the JSON dict
// sent to the server, and the server will assign a unique uuid.
var uuid = OpenAssessment.Fields.stringField(
$('.openassessment_prompt_uuid', this.element)
);
if (uuid !== "") { fields.uuid = uuid; }
return fields;
},
......
......@@ -46,13 +46,6 @@ OpenAssessment.EditPromptsView.prototype = {
**/
promptsDefinition: function() {
var prompts = this.promptsContainer.getItemValues();
// Add order_num fields for prompts
for (var prompt_idx = 0; prompt_idx < prompts.length; prompt_idx++) {
var prompt = prompts[prompt_idx];
prompt.order_num = prompt_idx;
}
return prompts;
},
......
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