[Ils-source] r1298 - in trunk/webapp/testsuite: . classes/CourseAttempt

asmith at crosswire.org asmith at crosswire.org
Wed Jan 21 14:52:15 MST 2015


Author: asmith
Date: 2015-01-21 14:52:15 -0700 (Wed, 21 Jan 2015)
New Revision: 1298

Added:
   trunk/webapp/testsuite/classes/CourseAttempt/init.jsp
   trunk/webapp/testsuite/classes/CourseAttempt/test.js
   trunk/webapp/testsuite/classes/CourseAttempt/test.jsp
Modified:
   trunk/webapp/testsuite/test.html
Log:
Added support for the CourseAttempt class.

Added: trunk/webapp/testsuite/classes/CourseAttempt/init.jsp
===================================================================
--- trunk/webapp/testsuite/classes/CourseAttempt/init.jsp	                        (rev 0)
+++ trunk/webapp/testsuite/classes/CourseAttempt/init.jsp	2015-01-21 21:52:15 UTC (rev 1298)
@@ -0,0 +1,52 @@
+<%@ page language="java" contentType="text/xml;charset=utf-8" %>
+<%@ page trimDirectiveWhitespaces="true" %>
+<%@ page import="com.resolutions.ils.ILSSession" %>
+<%@ page import="com.resolutions.ils.data.Course" %>
+<%@ page import="com.resolutions.ils.data.CourseAttempt" %>
+<%@ page import="java.util.Vector" %>
+<%! 
+	//Lets put this here since this function will only ever be used for this test :)
+	static public CourseAttempt getTestCourseAttempt(ILSSession session, String callBackStatus) {
+		CourseAttempt query = new CourseAttempt();
+		String sql = "SELECT * FROM COURSEATTEMPT WHERE CACALLBACKSTATUS={CACALLBACKSTATUS}";
+		query.setCourseAttemptCallbackStatus(callBackStatus);
+		Vector rows = query.getDataSet(sql);
+		return (rows.size() > 0) ? (CourseAttempt) rows.get(0) : null;
+	}
+
+%>
+<%
+	ILSSession ilsSession = (ILSSession)session.getAttribute("ilsSession");
+	if (ilsSession == null) {
+%>
+		<error message="not logged in" />
+<%
+		return;
+	}
+
+ 	// If test ca exists reset it
+	CourseAttempt ca = getTestCourseAttempt(ilsSession, "courseAttemptTest");
+	if (ca != null) {
+		CourseAttempt.deleteCourseAttempt(ilsSession, ca.getCourseAttemptID());
+		ca = getTestCourseAttempt(ilsSession, "courseAttemptTest");
+	}
+
+	// If mod ca exists delete it
+	CourseAttempt modCA = getTestCourseAttempt(ilsSession, "modTestCourseAttempt");
+	if (modCA != null) {
+		CourseAttempt.deleteCourseAttempt(ilsSession, modCA.getCourseAttemptID());
+
+	} if (ca != null) {
+%>
+		<error message="couldn't delete test course attempt" />
+<%
+	} if (modCA != null) {
+%>
+		<error message="couldn't delete mod course attempt" />
+<%
+	} else {
+%>
+		<success message="successfully initialized for test" />
+<%
+	}
+%>

Added: trunk/webapp/testsuite/classes/CourseAttempt/test.js
===================================================================
--- trunk/webapp/testsuite/classes/CourseAttempt/test.js	                        (rev 0)
+++ trunk/webapp/testsuite/classes/CourseAttempt/test.js	2015-01-21 21:52:15 UTC (rev 1298)
@@ -0,0 +1,34 @@
+QUnit.asyncTest("CourseAttempt class", function(assert) {
+	$.post('classes/CourseAttempt/init.jsp', {}, function(result) {
+		assert.ok($(result).find('success'), $(result).find('success').attr('message'));
+		$.post('classes/CourseAttempt/test.jsp', {}, function(result) {
+			var complete = $(result).find('complete');
+			assert.ok(complete, $(complete).attr('message'));
+
+			/* Lets see what we got */
+			var testCourseAttempt = $(complete).find('createdCourseAttemptTest', 'DataObject');
+			assert.ok(testCourseAttempt, 'found testCourseAttempt');
+			assert.equal($(testCourseAttempt).find('CASCORE').text(), '3', 'courseAttemptScore ok');
+			assert.equal($(testCourseAttempt).find('CASTARTDATE').text(), '2013-09-09 00:00:00.0', 'courseAttemptStartDate ok');
+			assert.equal($(testCourseAttempt).find('CACALLBACKSTATUS').text(), 'courseAttemptTest', 'courseAttemptCallBack ok');
+			assert.equal($(testCourseAttempt).find('COURSID').text(), '-1', 'courseAttemptCourseID ok');
+			assert.equal($(testCourseAttempt).find('USERPRID').text(), '-3', 'courseAttemptUserProfileID ok');
+			assert.equal($(testCourseAttempt).find('CASTATUSID').text(), '-2', 'courseAttemptStatusID ok');
+			assert.equal($(testCourseAttempt).find('CACOMPLETEDATE').text(), '2013-09-09 00:00:00.0', 'courseAttemptCompletedDate ok');
+			assert.equal($(testCourseAttempt).find('CAISMGRAPPRVL').text(), 'F', 'courseAttemptManagerApproved ok');
+
+			var modCourseAttempt = $(complete).find('modifiedCourseAttemptTest', 'DataObject');
+			assert.ok(modCourseAttempt, 'found modCourseAttempt');
+			assert.equal($(modCourseAttempt).find('CASCORE').text(), '7', 'modified courseAttemptScore ok');
+			assert.equal($(modCourseAttempt).find('CASTARTDATE').text(), '2014-12-17 00:00:00.0', 'modified courseAttemptStartDate ok');
+			assert.equal($(modCourseAttempt).find('CACALLBACKSTATUS').text(), 'modTestCourseAttempt', 'modified courseAttemptCallBack ok');
+			assert.equal($(modCourseAttempt).find('COURSID').text(), '-4', 'modified courseAttemptCourseID ok');
+			assert.equal($(modCourseAttempt).find('USERPRID').text(), '-6', 'modified courseAttemptUserProfileID ok');
+			assert.equal($(modCourseAttempt).find('CASTATUSID').text(), '-5', 'modified courseAttemptStatusID ok');
+			assert.equal($(modCourseAttempt).find('CACOMPLETEDATE').text(), '2014-12-17 00:00:00.0', 'modified courseAttemptCompletedDate ok');
+			assert.equal($(modCourseAttempt).find('CAISMGRAPPRVL').text(), 'T', 'modified courseAttemptManagerApproved ok');
+
+			QUnit.start();
+		});
+	});
+});
\ No newline at end of file

Added: trunk/webapp/testsuite/classes/CourseAttempt/test.jsp
===================================================================
--- trunk/webapp/testsuite/classes/CourseAttempt/test.jsp	                        (rev 0)
+++ trunk/webapp/testsuite/classes/CourseAttempt/test.jsp	2015-01-21 21:52:15 UTC (rev 1298)
@@ -0,0 +1,139 @@
+<%@ page language="java" contentType="text/xml;charset=utf-8" %>
+<%@ page trimDirectiveWhitespaces="true" %>
+<%@ page import="com.resolutions.ils.ILSSession" %>
+<%@ page import="com.resolutions.ils.data.CourseAttempt" %>
+<%@ page import="java.util.Calendar" %>
+<%@ page import="java.util.Date" %>
+<%@ page import="java.util.Vector" %>
+<%! 
+	//Lets put this here since this function will only ever be used for this test :)
+	static public CourseAttempt getTestCourseAttempt(ILSSession session, String callBackStatus) {
+		CourseAttempt query = new CourseAttempt();
+		String sql = "SELECT * FROM COURSEATTEMPT WHERE CACALLBACKSTATUS={CACALLBACKSTATUS}";
+		query.setCourseAttemptCallbackStatus(callBackStatus);
+		Vector rows = query.getDataSet(sql);
+		return (rows.size() > 0) ? (CourseAttempt) rows.get(0) : null;
+	}
+
+%>
+<%
+	// let's assert we're logged in and get our ilsSession if so
+	ILSSession ilsSession = (ILSSession)session.getAttribute("ilsSession");
+	if (ilsSession == null) {
+%>
+		<error message="not logged in" />
+<%
+		return;
+	}
+
+	// assert we don't already have a test CourseAttempt or modified test CourseAttempt
+	CourseAttempt testCourseAttempt = getTestCourseAttempt(ilsSession, "courseAttemptTest");
+	CourseAttempt modCourseAttempt = getTestCourseAttempt(ilsSession, "modTestCourseAttempt");
+	if (testCourseAttempt != null) {
+%>
+		<error message="test CourseAttempt already exists" />
+<%
+		return;
+
+	}  else if (modCourseAttempt != null) {
+%>
+		<error message="modified test CourseAttempt already exists" />
+<%
+		return;	
+	}
+
+
+	Calendar c = Calendar.getInstance();
+
+	c.set(2013, Calendar.SEPTEMBER, 9);
+	c.set(Calendar.HOUR_OF_DAY, 0);
+	c.set(Calendar.MINUTE, 0);
+	c.set(Calendar.SECOND, 0);
+	c.set(Calendar.MILLISECOND, 0);
+
+	Date testDate = c.getTime();
+
+	c.set(2014, Calendar.DECEMBER, 17);
+	c.set(Calendar.HOUR_OF_DAY, 0);
+	c.set(Calendar.MINUTE, 0);
+	c.set(Calendar.SECOND, 0);
+	c.set(Calendar.MILLISECOND, 0);
+
+	Date modDate = c.getTime();
+
+	// Create a test CourseAttempt
+	testCourseAttempt = new CourseAttempt();
+	testCourseAttempt.defaultAll();
+
+	testCourseAttempt.setCourseAttemptCompleteDate(testDate);
+	testCourseAttempt.setCourseAttemptCourseID(-1);
+	testCourseAttempt.setCourseAttemptScore(3);
+	testCourseAttempt.setCourseAttemptStartDate(testDate);
+	testCourseAttempt.setCourseAttemptStatusID(-2);
+	testCourseAttempt.setCourseAttemptUserProfileID(-3);
+	testCourseAttempt.setCourseAttemptManagerApproved(false);
+	testCourseAttempt.setCourseAttemptCallbackStatus("courseAttemptTest");
+
+	testCourseAttempt = testCourseAttempt.saveNew(ilsSession);
+
+	// now let's try to retrieve our test CourseAttempt
+	testCourseAttempt = CourseAttempt.getCourseAttempt(ilsSession, testCourseAttempt.getCourseAttemptID());
+
+	if (testCourseAttempt == null) {
+
+%>
+		<error message="couldn't create test CourseAttempt" />
+<%
+		return;
+	}
+
+	// Modify the CourseAttempt
+	CourseAttempt modifiedTestCourseAttempt = (CourseAttempt)testCourseAttempt.clone();
+
+
+	modifiedTestCourseAttempt.setCourseAttemptCompleteDate(modDate);
+	modifiedTestCourseAttempt.setCourseAttemptCourseID(-4);
+	modifiedTestCourseAttempt.setCourseAttemptScore(7);
+	modifiedTestCourseAttempt.setCourseAttemptStartDate(modDate);
+	modifiedTestCourseAttempt.setCourseAttemptStatusID(-5);
+	modifiedTestCourseAttempt.setCourseAttemptUserProfileID(-6);
+	modifiedTestCourseAttempt.setCourseAttemptManagerApproved(true);
+	modifiedTestCourseAttempt.setCourseAttemptCallbackStatus("modTestCourseAttempt");
+	modifiedTestCourseAttempt.setCourseAttemptExpired("mod test expired");
+
+	modifiedTestCourseAttempt.save(testCourseAttempt);
+	
+	// Can we grab that modified CourseAttempt?
+	modifiedTestCourseAttempt = CourseAttempt.getCourseAttempt(ilsSession, testCourseAttempt.getCourseAttemptID());
+	if (modifiedTestCourseAttempt == null) {
+%>
+		<error message="couldn't retrieve modified test course attempt" />
+<%
+		return;
+	}
+	// Clean it up and test deletion
+	CourseAttempt.deleteCourseAttempt(ilsSession, testCourseAttempt.getCourseAttemptID());
+	CourseAttempt.deleteCourseAttempt(ilsSession, modifiedTestCourseAttempt.getCourseAttemptID());
+
+	if (CourseAttempt.getCourseAttempt(ilsSession, testCourseAttempt.getCourseAttemptID()) != null) {
+%>
+		<error message="couldn't delete test CourseAttempt" />
+<%
+		return;
+
+	} else if (CourseAttempt.getCourseAttempt(ilsSession, modifiedTestCourseAttempt.getCourseAttemptID()) != null) {
+%>
+		<error message="couldn't delete modified test course attempt" />
+<%
+		return;
+
+	}
+%>
+<complete>
+	<createdCourseAttemptTest>
+		<%= testCourseAttempt %>
+	</createdCourseAttemptTest>
+    	<modifiedCourseAttemptTest>
+		<%= modifiedTestCourseAttempt %>
+	</modifiedCourseAttemptTest>
+</complete>
\ No newline at end of file

Modified: trunk/webapp/testsuite/test.html
===================================================================
--- trunk/webapp/testsuite/test.html	2015-01-14 00:04:28 UTC (rev 1297)
+++ trunk/webapp/testsuite/test.html	2015-01-21 21:52:15 UTC (rev 1298)
@@ -24,6 +24,8 @@
 
 	<script src="classes/Course/test.js"></script>
 
+	<script src="classes/CourseAttempt/test.js"></script>
+
 	<script src="classes/Compliance/test.js"></script>
 
 	<script src="classes/Announcement/test.js"></script>




More information about the Ils-source mailing list