Client client = ClientsBusiness.addClientByClientName(user,
"new_client");
Assert.assertEquals("new_client", client.getName());
// create general book
GeneralBook generalBook = new GeneralBook();
generalBook.setClient(client);
generalBook.setDescription("general_book_description");
generalBook.setName("general_book");
generalBook = BooksBusiness.addBook(generalBook);
// create a generic annotation
Annotation annotation = new GeneralIncomeAnnotation();
annotation.setBook(generalBook);
annotation.setTwoDecimalLongCodifiedAmount(1000L * 100L); // 1000.00
annotation.setConcept("test");
Date date = new SimpleDateFormat("dd-MM-yyyy").parse("11-11-2013");
annotation.setDate(date);
annotation = AnnotationsBusiness.createAnnotation(annotation);
Assert.assertEquals(generalBook, annotation.getBook());
Assert.assertEquals(new Long(1000L * 100L),
annotation.getTwoDecimalLongCodifiedAmount());
Assert.assertEquals("test", annotation.getConcept());
Assert.assertEquals(date, annotation.getDate());
// find annotation for current client
List<Annotation> annotations = AnnotationsBusiness
.getAnnotationsWithFilter(Optional.<AnnotationType>absent(),
BookSelection.fromBook(generalBook),
Optional.<Integer>of(2013), ClientDomainType.CURRENT_CLIENT, SortingCriteria.ASCENDING,
AnnotationsFilter.emptyAnnotationsFilter());
Assert.assertEquals(new Integer(1), new Integer(annotations.size()));
Assert.assertEquals(annotation, annotations.iterator().next());
// find annotation all clients
annotations = AnnotationsBusiness.getAnnotationsWithFilter(Optional.<AnnotationType>absent(),
BookSelection.fromBook(generalBook),
Optional.<Integer>of(2013), ClientDomainType.ALL_CLIENTS, SortingCriteria.ASCENDING,
AnnotationsFilter.emptyAnnotationsFilter());
Assert.assertEquals(new Integer(1), new Integer(annotations.size()));
Assert.assertEquals(annotation, annotations.iterator().next());
// find annotation all clients
annotations = AnnotationsBusiness.getAnnotationsWithFilter(Optional.<AnnotationType>absent(),
BookSelection.fromBook(generalBook),
Optional.<Integer>of(2011), ClientDomainType.ALL_CLIENTS, SortingCriteria.ASCENDING,
AnnotationsFilter.emptyAnnotationsFilter());
Assert.assertEquals(new Integer(0), new Integer(annotations.size()));
// create another user
User secondUser = UsersBusiness.persistUserByUsernameAndPassword(
"new_user_2", "fake_password_2");
Assert.assertArrayEquals(
new Object[] { "new_user_2", "fake_password_2" }, new Object[] {
secondUser.getUsername(), secondUser.getPassword() });
// create another client
Client secondClient = ClientsBusiness.addClientByClientName(secondUser,
"new_client_2");
Assert.assertEquals("new_client_2", secondClient.getName());
// create another general book
GeneralBook secondGeneralBook = new GeneralBook();
secondGeneralBook.setClient(secondClient);
secondGeneralBook.setDescription("general_book_description_2");
secondGeneralBook.setName("general_book_2");
secondGeneralBook = BooksBusiness.addBook(secondGeneralBook);
// create another generic annotation
Annotation secondAnnotation = new GeneralIncomeAnnotation();
secondAnnotation.setBook(secondGeneralBook);