001: package jfb.tst.tools.activitymgr.core;
002:
003: import jfb.tools.activitymgr.core.DbException;
004: import jfb.tools.activitymgr.core.ModelException;
005: import jfb.tools.activitymgr.core.ModelMgr;
006: import jfb.tools.activitymgr.core.beans.Collaborator;
007: import jfb.tst.tools.activitymgr.AbstractModelTestCase;
008:
009: public class CollaboratorsTest extends AbstractModelTestCase {
010:
011: public void testGetList() throws DbException {
012: ModelMgr.getCollaborators();
013: }
014:
015: public void testCreateAnRemove() throws ModelException, DbException {
016: Collaborator collaborator = new Collaborator();
017: collaborator.setFirstName("First name");
018: collaborator.setLastName("Last name");
019: collaborator.setLogin("login");
020: collaborator.setIsActive(true);
021:
022: // Création
023: long clbId = ModelMgr.createCollaborator(collaborator).getId();
024: assertTrue(clbId > 0);
025:
026: // Récupération du collaborateur
027: Collaborator _collaborator = ModelMgr.getCollaborator(clbId);
028: assertNotNull(_collaborator);
029: assertEquals(_collaborator.getFirstName(), collaborator
030: .getFirstName());
031: assertEquals(_collaborator.getLastName(), collaborator
032: .getLastName());
033: assertEquals(_collaborator.getLogin(), collaborator.getLogin());
034: assertNotNull(_collaborator);
035:
036: // Suppression du collaborateur
037: ModelMgr.removeCollaborator(_collaborator);
038: _collaborator = ModelMgr.getCollaborator(clbId);
039: assertNull(_collaborator);
040: }
041:
042: public void testUniqueLogin() throws DbException, ModelException {
043: Collaborator collaborator = new Collaborator();
044: collaborator.setFirstName("First name");
045: collaborator.setLastName("Last name");
046: collaborator.setLogin("login");
047: collaborator.setIsActive(true);
048: collaborator = ModelMgr.createCollaborator(collaborator);
049:
050: Collaborator collaborator2 = new Collaborator();
051: collaborator2.setFirstName("First name2");
052: collaborator2.setLastName("Last name2");
053: collaborator2.setLogin(collaborator.getLogin());
054: // Tentative de création avec le même login => doit échouer
055: try {
056: collaborator2 = ModelMgr.createCollaborator(collaborator2);
057: fail("A collaborator with the same login of another collaborator must not be created");
058: } catch (ModelException ignored) {
059: }
060:
061: // Création du collaborateur avec un autre login => doit marcher
062: collaborator2.setLogin("otherLogin");
063: collaborator2 = ModelMgr.createCollaborator(collaborator2);
064: try {
065: // Tentative d'update avec le même login
066: collaborator2.setLogin(collaborator.getLogin());
067: collaborator2 = ModelMgr.updateCollaborator(collaborator2);
068: fail("A collaborator with the same login of another collaborator must not be updated");
069: } catch (ModelException ignored) {
070: }
071:
072: // Suppression
073: ModelMgr.removeCollaborator(collaborator);
074: ModelMgr.removeCollaborator(collaborator2);
075: }
076:
077: public void testActiveCollaborator() throws DbException,
078: ModelException {
079: Collaborator collaborator = new Collaborator();
080: collaborator.setFirstName("First name");
081: collaborator.setLastName("Last name");
082: collaborator.setLogin("login");
083: collaborator.setIsActive(true);
084: collaborator = ModelMgr.createCollaborator(collaborator);
085:
086: // Récupération du collaborateur actif
087: Collaborator[] collaborators = ModelMgr.getActiveCollaborators(
088: Collaborator.ID_FIELD_IDX, true);
089: assertNotNull(collaborators);
090: assertEquals(1, collaborators.length);
091: assertEquals(collaborator.getId(), collaborators[0].getId());
092:
093: // Mise du collaborateur en non actif puis récupération
094: // => la liste doit être vide
095: collaborator.setIsActive(false);
096: collaborator = ModelMgr.updateCollaborator(collaborator);
097: collaborators = ModelMgr.getActiveCollaborators(
098: Collaborator.ID_FIELD_IDX, true);
099: assertNotNull(collaborators);
100: assertEquals(0, collaborators.length);
101:
102: // Suppression
103: ModelMgr.removeCollaborator(collaborator);
104: }
105:
106: public void testSortCollaborators() throws DbException,
107: ModelException {
108: Collaborator c0 = new Collaborator();
109: c0.setFirstName("FN0");
110: c0.setLastName("LN2");
111: c0.setLogin("l0");
112: c0.setIsActive(true);
113: c0 = ModelMgr.createCollaborator(c0);
114:
115: Collaborator c1 = new Collaborator();
116: c1.setFirstName("FN1");
117: c1.setLastName("LN1");
118: c1.setLogin("l1");
119: c1.setIsActive(false);
120: c1 = ModelMgr.createCollaborator(c1);
121:
122: Collaborator c2 = new Collaborator();
123: c2.setFirstName("FN2");
124: c2.setLastName("LN0");
125: c2.setLogin("l2");
126: c2.setIsActive(true);
127: c2 = ModelMgr.createCollaborator(c2);
128:
129: // Tri par identifiant
130: Collaborator[] collaborators = ModelMgr.getCollaborators(
131: Collaborator.ID_FIELD_IDX, true);
132: assertNotNull(collaborators);
133: assertEquals(3, collaborators.length);
134: assertEquals(c0.getId(), collaborators[0].getId());
135: assertEquals(c1.getId(), collaborators[1].getId());
136: assertEquals(c2.getId(), collaborators[2].getId());
137:
138: // Tri par login
139: collaborators = ModelMgr.getCollaborators(
140: Collaborator.LOGIN_FIELD_IDX, true);
141: assertNotNull(collaborators);
142: assertEquals(3, collaborators.length);
143: assertEquals(c0.getId(), collaborators[0].getId());
144: assertEquals(c1.getId(), collaborators[1].getId());
145: assertEquals(c2.getId(), collaborators[2].getId());
146:
147: // Tri par prénom
148: collaborators = ModelMgr.getCollaborators(
149: Collaborator.FIRST_NAME_FIELD_IDX, true);
150: assertNotNull(collaborators);
151: assertEquals(3, collaborators.length);
152: assertEquals(c0.getId(), collaborators[0].getId());
153: assertEquals(c1.getId(), collaborators[1].getId());
154: assertEquals(c2.getId(), collaborators[2].getId());
155:
156: // Tri par nom
157: collaborators = ModelMgr.getCollaborators(
158: Collaborator.LAST_NAME_FIELD_IDX, true);
159: assertNotNull(collaborators);
160: assertEquals(3, collaborators.length);
161: assertEquals(c2.getId(), collaborators[0].getId());
162: assertEquals(c1.getId(), collaborators[1].getId());
163: assertEquals(c0.getId(), collaborators[2].getId());
164:
165: // Tri par flag is-active
166: collaborators = ModelMgr.getCollaborators(
167: Collaborator.IS_ACTIVE_FIELD_IDX, false);
168: assertNotNull(collaborators);
169: assertEquals(3, collaborators.length);
170: assertEquals(c1.getId(), collaborators[2].getId());
171:
172: // Suppression
173: ModelMgr.removeCollaborator(c0);
174: ModelMgr.removeCollaborator(c1);
175: ModelMgr.removeCollaborator(c2);
176: }
177:
178: }
|