001 /*
002 * Copyright 2006-2011 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.kuali.rice.krad.document;
017
018 import org.junit.Test;
019 import org.kuali.rice.krad.UserSession;
020 import org.kuali.rice.krad.service.KRADServiceLocatorWeb;
021 import org.kuali.rice.krad.test.document.bo.AccountManager;
022 import org.kuali.rice.krad.util.GlobalVariables;
023 import org.kuali.rice.krad.util.KRADConstants;
024 import org.kuali.test.KRADTestCase;
025
026 import static org.junit.Assert.assertEquals;
027
028 /**
029 * This class...
030 *
031 *
032 */
033 public class MaintenanceDocumentTest extends KRADTestCase {
034
035 MaintenanceDocument document;
036
037
038 @Override
039 public void setUp() throws Exception {
040 super.setUp();
041 GlobalVariables.setUserSession(new UserSession("quickstart"));
042 document = (MaintenanceDocument) KRADServiceLocatorWeb.getDocumentService().getNewDocument("AccountManagerMaintenanceDocument");
043 }
044
045 private void setupNewAccountMaintDoc(MaintenanceDocument document) {
046
047 AccountManager am = new AccountManager();
048 am.setAmId(new Long(1));
049 am.setUserName("userName");
050
051 document.getOldMaintainableObject().setDataObject(null);
052 document.getOldMaintainableObject().setDataObjectClass(am.getClass());
053 document.getNewMaintainableObject().setDataObject(am);
054 document.getNewMaintainableObject().setDataObjectClass(am.getClass());
055
056 }
057
058 private void setupEditAccountMaintDoc(MaintenanceDocument document) {
059
060 AccountManager fo = new AccountManager();
061 fo.setAmId(new Long(1));
062 fo.setUserName("userName");
063
064 document.getOldMaintainableObject().setDataObject(fo);
065 document.getOldMaintainableObject().setDataObjectClass(fo.getClass());
066 document.getNewMaintainableObject().setDataObject(fo);
067 document.getNewMaintainableObject().setDataObjectClass(fo.getClass());
068
069 }
070
071 @Test public void test_NewDoc() {
072
073 setupNewAccountMaintDoc(document);
074 document.getNewMaintainableObject().setMaintenanceAction(KRADConstants.MAINTENANCE_NEW_ACTION);
075
076 assertEquals("Document should indicate New.", true, document.isNew());
077 assertEquals("Document should not indicate Edit.", false, document.isEdit());
078 assertEquals("Old BO should not be present.", false, document.isOldDataObjectInDocument());
079 }
080
081 @Test public void test_EditDoc() {
082
083 setupEditAccountMaintDoc(document);
084 document.getNewMaintainableObject().setMaintenanceAction(KRADConstants.MAINTENANCE_EDIT_ACTION);
085
086 assertEquals("Document should not indicate New.", false, document.isNew());
087 assertEquals("Document should indicate Edit.", true, document.isEdit());
088 assertEquals("Old BO should be present.", true, document.isOldDataObjectInDocument());
089
090 }
091
092 @Test public void test_CopyDoc() {
093
094 setupEditAccountMaintDoc(document);
095 document.getNewMaintainableObject().setMaintenanceAction(KRADConstants.MAINTENANCE_COPY_ACTION);
096
097 assertEquals("Document should indicate New.", true, document.isNew());
098 assertEquals("Document should not indicate Edit.", false, document.isEdit());
099 assertEquals("Old BO should be present.", true, document.isOldDataObjectInDocument());
100
101 }
102
103 }