示例#1
0
  @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();
 }
示例#4
0
  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();
    }
  }
示例#5
0
  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);
  }