public void testModifyExternalAssessment() throws Exception { Assert.assertTrue(gradebookFrameworkService.isGradebookDefined(GRADEBOOK_UID)); gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, EXT_ID_1, null, EXT_TITLE_1, new Double(10), new Date(), "Samigo", new Boolean(false)); gradebookExternalAssessmentService.updateExternalAssessment( GRADEBOOK_UID, EXT_ID_1, null, EXT_TITLE_1, new Double(20), null, new Boolean(false)); // Find the assessment and ensure that it has been updated Long gbId = gradebookManager.getGradebook(GRADEBOOK_UID).getId(); Assignment asn = null; List assignments = gradebookManager.getAssignments(gbId); for (Iterator iter = assignments.iterator(); iter.hasNext(); ) { Assignment tmp = (Assignment) iter.next(); if (tmp.getExternalId() != null && tmp.getExternalId().equals(EXT_ID_1)) { asn = tmp; break; } } Assert.assertEquals(asn.getPointsPossible(), new Double(20)); // Ensure that the total points possible in the gradebook reflects the updated assessment's // points Assert.assertTrue(gradebookManager.getTotalPoints(gbId) == 30); }
public void testCreateExternalAssessmentWithCategory() throws Exception { String categoryName = "My favorite category"; Long gbId = gradebookManager.getGradebook(GRADEBOOK_UID).getId(); Long catId = gradebookManager.createCategory(gbId, categoryName, new Double(0), 0, 0, 0, false); Assert.assertTrue(gradebookFrameworkService.isGradebookDefined(GRADEBOOK_UID)); // Make sure the service knows that the external id has not been defined Assert.assertFalse( gradebookExternalAssessmentService.isExternalAssignmentDefined(GRADEBOOK_UID, EXT_ID_1)); gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, EXT_ID_1, null, EXT_TITLE_1, new Double(10), new Date(), "Samigo", new Boolean(false), catId); // Make sure the service knows that the external id has been defined Assert.assertTrue( gradebookExternalAssessmentService.isExternalAssignmentDefined(GRADEBOOK_UID, EXT_ID_1)); // let's retrieve the assignment and double check the category setting // due to security in GradebookService, we need to retrieve all assign and then iterate through // to find this one List<Assignment> allAssigns = gradebookManager.getAssignments(gbId); boolean assignFound = false; for (Assignment assign : allAssigns) { if (assign.isExternallyMaintained() && EXT_ID_1.equals(assign.getExternalId())) { assignFound = true; // double check the category if (assign.getCategory() == null || !catId.equals(assign.getCategory().getId())) { fail("Category was not saved via addExternalAssessment"); } } } if (!assignFound) { fail("Could not retrieve newly added external assignment"); } // double check that leaving category null leaves category unassigned String externalId2 = "external ID 2"; String externalTitle = "Another externally maintained one"; gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, externalId2, null, externalTitle, new Double(10), new Date(), "Samigo", new Boolean(false), null); // Make sure the service knows that the external id has been defined Assert.assertTrue( gradebookExternalAssessmentService.isExternalAssignmentDefined(GRADEBOOK_UID, externalId2)); // let's retrieve the assignment and double check the category setting // due to security in GradebookService, we need to retrieve all assign and then iterate through // to find this one allAssigns = gradebookManager.getAssignments(gbId); assignFound = false; for (Assignment assign : allAssigns) { if (assign.isExternallyMaintained() && externalId2.equals(assign.getExternalId())) { assignFound = true; // double check the category if (assign.getCategory() != null) { fail("Category should be null for external assignment added via addExternalAssessment"); } } } if (!assignFound) { fail("Could not retrieve newly added external assignment without a category"); } // Make sure that internal name conflicts are detected try { gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, "A unique external id", null, ASN_1, new Double(10), new Date(), "Samigo", new Boolean(false), catId); fail(); } catch (ConflictingAssignmentNameException e) { } // Make sure that external name conflicts are detected try { gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, "Another unique external id", null, EXT_TITLE_1, new Double(10), new Date(), "Samigo", new Boolean(false), catId); fail(); } catch (ConflictingAssignmentNameException e) { } // Make sure that external id conflicts are detected try { gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, EXT_ID_1, null, "A unique title", new Double(10), new Date(), "Samigo", new Boolean(false), catId); fail(); } catch (ConflictingExternalIdException e) { } // Test a floating value. double floatingPoints = 10.66666; String floatingExtId = "Just another external ID"; gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, floatingExtId, null, "AFractionalAssessment", new Double(floatingPoints), new Date(), "Samigo", new Boolean(false), catId); // Find the assessment and ensure that it has been updated Assignment asn = null; List assignments = gradebookManager.getAssignments(gbId); for (Iterator iter = assignments.iterator(); iter.hasNext(); ) { Assignment tmp = (Assignment) iter.next(); if (tmp.getExternalId() != null && tmp.getExternalId().equals(floatingExtId)) { asn = tmp; break; } } Assert.assertEquals(asn.getPointsPossible(), new Double(floatingPoints)); }
/** * Tests the gradebook service. * * @throws Exception */ public void testCreateExternalAssessment() throws Exception { Assert.assertTrue(gradebookFrameworkService.isGradebookDefined(GRADEBOOK_UID)); // Make sure the service knows that the external id has not been defined Assert.assertFalse( gradebookExternalAssessmentService.isExternalAssignmentDefined(GRADEBOOK_UID, EXT_ID_1)); gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, EXT_ID_1, null, EXT_TITLE_1, new Double(10), new Date(), "Samigo", new Boolean(false)); // Make sure the service knows that the external id has been defined Assert.assertTrue( gradebookExternalAssessmentService.isExternalAssignmentDefined(GRADEBOOK_UID, EXT_ID_1)); // Make sure that internal name conflicts are detected try { gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, "A unique external id", null, ASN_1, new Double(10), new Date(), "Samigo", new Boolean(false)); fail(); } catch (ConflictingAssignmentNameException e) { } // Make sure that external name conflicts are detected try { gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, "Another unique external id", null, EXT_TITLE_1, new Double(10), new Date(), "Samigo", new Boolean(false)); fail(); } catch (ConflictingAssignmentNameException e) { } // Make sure that external id conflicts are detected try { gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, EXT_ID_1, null, "A unique title", new Double(10), new Date(), "Samigo", new Boolean(false)); fail(); } catch (ConflictingExternalIdException e) { } // Test a floating value. double floatingPoints = 10.66666; String floatingExtId = "Just another external ID"; gradebookExternalAssessmentService.addExternalAssessment( GRADEBOOK_UID, floatingExtId, null, "AFractionalAssessment", new Double(floatingPoints), new Date(), "Samigo", new Boolean(false)); // Find the assessment and ensure that it has been updated Long gbId = gradebookManager.getGradebook(GRADEBOOK_UID).getId(); Assignment asn = null; List assignments = gradebookManager.getAssignments(gbId); for (Iterator iter = assignments.iterator(); iter.hasNext(); ) { Assignment tmp = (Assignment) iter.next(); if (tmp.getExternalId() != null && tmp.getExternalId().equals(floatingExtId)) { asn = tmp; break; } } Assert.assertEquals(asn.getPointsPossible(), new Double(floatingPoints)); }