@Test public void testDrafts() throws CvqException { this.createDrafts(2); List<Request> drafts = this.getDrafts(); assertEquals(2, drafts.size()); requestWorkflowService.delete(drafts.get(0).getId()); continueWithNewTransaction(); drafts = getDrafts(); assertEquals(1, drafts.size()); Request draft2 = drafts.get(0); draft2.setState(RequestState.PENDING); requestWorkflowService.modify(draft2); continueWithNewTransaction(); try { this.getDraftById(draft2.getId()); fail(); } catch (IndexOutOfBoundsException e) { } requestWorkflowService.delete(draft2.getId()); continueWithNewTransaction(); assertEquals(0, getDrafts().size()); }
protected void completeValidateAndDelete(TicketBookingRequest request) throws CvqException, IOException { // add a document to the request /////////////////////////////// Document doc = new Document(); doc.setEcitizenNote("Ma carte d'identité !"); doc.setDepositOrigin(DepositOrigin.ECITIZEN); doc.setDepositType(DepositType.PC); doc.setHomeFolderId(request.getHomeFolderId()); doc.setIndividualId(request.getRequesterId()); doc.setDocumentType( documentTypeService.getDocumentTypeByType(IDocumentTypeService.IDENTITY_RECEIPT_TYPE)); Long documentId = documentService.create(doc); requestDocumentService.addDocument(request.getId(), documentId); Set<RequestDocument> documentsSet = requestDocumentService.getAssociatedDocuments(request.getId()); assertEquals(documentsSet.size(), 1); // FIXME : test list of pending / in-progress registrations Critere testCrit = new Critere(); testCrit.setAttribut(Request.SEARCH_BY_HOME_FOLDER_ID); testCrit.setComparatif(Critere.EQUALS); testCrit.setValue(request.getHomeFolderId()); Set<Critere> testCritSet = new HashSet<Critere>(); testCritSet.add(testCrit); List<Request> allRequests = requestSearchService.get(testCritSet, null, null, -1, 0, false); assertNotNull(allRequests); // close current session and re-open a new one continueWithNewTransaction(); SecurityContext.setCurrentSite(localAuthorityName, SecurityContext.BACK_OFFICE_CONTEXT); SecurityContext.setCurrentAgent(agentNameWithCategoriesRoles); requestWorkflowService.updateRequestState(request.getId(), RequestState.COMPLETE, null); requestWorkflowService.updateRequestState(request.getId(), RequestState.VALIDATED, null); // close current session and re-open a new one continueWithNewTransaction(); byte[] generatedCertificate = requestSearchService.getCertificate(request.getId(), RequestState.PENDING); if (generatedCertificate == null) fail("No certificate found"); // Write tele-service xml data file File xmlFile = File.createTempFile("tmp" + request.getId(), ".xml"); FileOutputStream xmlFos = new FileOutputStream(xmlFile); xmlFos.write(requestSearchService.getById(request.getId(), true).modelToXmlString().getBytes()); File file = File.createTempFile("tmp" + request.getId(), ".pdf"); FileOutputStream fos = new FileOutputStream(file); fos.write(generatedCertificate); // close current session and re-open a new one continueWithNewTransaction(); // delete request requestWorkflowService.delete(request.getId()); }
@Test public void testWithoutHomeFolder() throws CvqException, CvqObjectNotFoundException, FileNotFoundException, IOException { if (!requestService.supportUnregisteredCreation()) return; startTransaction(); SecurityContext.setCurrentSite(localAuthorityName, SecurityContext.FRONT_OFFICE_CONTEXT); TicketBookingRequest request = fillMeARequest(); Address address = BusinessObjectsFactory.gimmeAdress("12", "Rue d'Aligre", "Paris", "75012"); Adult requester = BusinessObjectsFactory.gimmeAdult( TitleType.MISTER, "LASTNAME", "requester", address, FamilyStatusType.MARRIED); requester.setPassword("requester"); requester.setAdress(address); homeFolderService.addHomeFolderRole(requester, RoleType.HOME_FOLDER_RESPONSIBLE); TicketBookingRequestFeeder.setSubject( request, requestService.getSubjectPolicy(), requester, null); Long requestId = requestWorkflowService.create(request, requester); // close current session and re-open a new one continueWithNewTransaction(); // start testing request creation ///////////////////////////////// TicketBookingRequest requestFromDb = (TicketBookingRequest) requestSearchService.getById(requestId, true); assertEquals(requestId, requestFromDb.getId()); assertNotNull(requestFromDb.getRequesterId()); assertNotNull(requestFromDb.getRequesterLastName()); if (requestFromDb.getSubjectId() != null) assertNotNull(requestFromDb.getSubjectLastName()); Long homeFolderId = requestFromDb.getHomeFolderId(); Long requesterId = requestFromDb.getRequesterId(); // close current session and re-open a new one continueWithNewTransaction(); completeValidateAndDelete(requestFromDb); // close current session and re-open a new one continueWithNewTransaction(); try { homeFolderService.getById(homeFolderId); fail("should not have found home folder"); } catch (CvqObjectNotFoundException confe) { // great, that was expected } try { individualService.getById(requesterId); fail("should not have found requester"); } catch (CvqObjectNotFoundException confe) { // great, that was expected } SecurityContext.resetCurrentSite(); commitTransaction(); }
void createDrafts(int step) throws CvqException { continueWithNewTransaction(); for (int i = 1; i <= step; i++) { SecurityContext.setCurrentContext(SecurityContext.FRONT_OFFICE_CONTEXT); SecurityContext.setCurrentEcitizen(fake.responsibleId); Request request = new SchoolRegistrationRequest(); request.setRequesterId(SecurityContext.getCurrentEcitizen().getId()); request.setSubjectId(fake.childId); request.setState(RequestState.DRAFT); Long id = requestWorkflowService.create(request, null); continueWithNewTransaction(); request = requestSearchService.getById(id, true); request.setCreationDate(DateUtils.getShiftedDate(Calendar.DAY_OF_YEAR, i * (-1))); SecurityContext.setCurrentContext(SecurityContext.BACK_OFFICE_CONTEXT); SecurityContext.setCurrentAgent(agentNameWithManageRoles); requestWorkflowService.modify(request); continueWithNewTransaction(); } }
public void testAll() throws CvqException { SecurityContext.setCurrentSite(localAuthorityName, SecurityContext.FRONT_OFFICE_CONTEXT); SecurityContext.setCurrentEcitizen(fake.responsibleId); InternalInvoiceItem invoice1 = new InternalInvoiceItem( "PaylineV4 Invoice 1", Double.valueOf("300"), "key", "keyOwner", "PaylineV4", Integer.valueOf(1), Double.valueOf(2)); Payment payment = paymentService.createPaymentContainer(invoice1, PaymentMode.INTERNET); InternalInvoiceItem invoice2 = new InternalInvoiceItem( "PaylineV4 Invoice 2", Double.valueOf("600"), "key", "keyOwner", "PaylineV4", Integer.valueOf(1), Double.valueOf(2)); paymentService.addPurchaseItemToPayment(payment, invoice2); payment.addPaymentSpecificData("domainName", "localhost"); URL url = paymentService.initPayment(payment); assertNotNull(url); continueWithNewTransaction(); Set<Critere> criterias = new HashSet<Critere>(); criterias.add(new Critere(Payment.SEARCH_BY_HOME_FOLDER_ID, fake.id, Critere.EQUALS)); List<Payment> payments = paymentService.get(criterias, null, null, 0, 0); assertEquals(1, payments.size()); Payment finalPayment = payments.get(0); assertNotNull(finalPayment.getBankReference()); assertNotNull(finalPayment.getCvqReference()); // Map<String, String> parameters = new HashMap<String, String>(); // parameters.put("token", payment.getBankReference()); // PaymentResultStatus returnStatus = iPaymentService.commitPayment(parameters); // Assert.assertEquals(PaymentResultStatus.OK, returnStatus); }