Example usage for org.springframework.mock.web MockHttpServletRequest setParameter

List of usage examples for org.springframework.mock.web MockHttpServletRequest setParameter

Introduction

In this page you can find the example usage for org.springframework.mock.web MockHttpServletRequest setParameter.

Prototype

public void setParameter(String name, String... values) 

Source Link

Document

Set an array of values for the specified HTTP parameter.

Usage

From source file:org.openmrs.module.webservices.rest.web.v1_0.controller.openmrs2_0.ProviderController2_0Test.java

@Test
public void doGetAll_shouldProcessIncludeAllParameter() throws Exception {

    {//from  ww  w. ja  v a 2s  .c o  m
        // setup
        MockHttpServletRequest request = newGetRequest(getURI());

        // Replay
        List<?> allProvidersDef = deserialize(handle(request)).get("results");

        // Verify: no retired by default
        for (Object provider : allProvidersDef) {
            Assert.assertNotSame(true, PropertyUtils.getProperty(provider, "retired"));
        }
    }

    {
        // Setup
        MockHttpServletRequest request = newGetRequest(getURI());
        request.setParameter("includeAll", "true");

        // Replay
        Object allProviders = (deserialize(handle(request)).get("results"));
        List<Object> allProvidersUuid = ((List<Map>) allProviders).stream().map(p -> p.get("uuid"))
                .collect(Collectors.toList());

        // Verify: 'includeAll=true' same as Java API
        Assert.assertArrayEquals(Context.getProviderService().getAllProviders(true).stream()
                .map(BaseOpenmrsObject::getUuid).toArray(), allProvidersUuid.toArray());
    }

    {
        // Setup
        MockHttpServletRequest request = newGetRequest(getURI());
        request.setParameter("includeAll", "false");

        // Replay
        Object allNonRetired = (deserialize(handle(request)).get("results"));
        List<Object> allNonRetiredUuid = ((List<Map>) allNonRetired).stream().map(p -> p.get("uuid"))
                .collect(Collectors.toList());

        // Verify: 'includeAll=false' same as Java API
        Assert.assertArrayEquals(Context.getProviderService().getAllProviders(false).stream()
                .map(BaseOpenmrsObject::getUuid).toArray(), allNonRetiredUuid.toArray());
    }

}

From source file:org.openmrs.module.webservices.rest.web.v1_0.controller.openmrs2_0.ProviderController2_0Test.java

@Test
public void doSearch_shouldProcessIncludeAll() throws Exception {

    String providerName = "test";

    {//  w  w w . j a  v  a2s .c  o  m
        // Setup
        MockHttpServletRequest request = newGetRequest(getURI());
        request.setParameter("q", providerName);

        // Replay
        List<?> allProvidersDef = deserialize(handle(request)).get("results");
        List<Object> allUuidDef = ((List<Map>) allProvidersDef).stream().map(p -> p.get("uuid"))
                .collect(Collectors.toList());

        // Verify: no retired by default
        Assert.assertArrayEquals(
                Context.getProviderService().getProviders(providerName, null, null, null, false).stream()
                        .map(BaseOpenmrsObject::getUuid).toArray(),
                allUuidDef.toArray());
    }
    {
        // Setup
        MockHttpServletRequest request = newGetRequest(getURI());
        request.setParameter("q", providerName);
        request.setParameter("includeAll", "false");

        // Replay
        List<?> allNonRetired = deserialize(handle(request)).get("results");
        List<Object> nonRetiredUuids = ((List<Map>) allNonRetired).stream().map(p -> p.get("uuid"))
                .collect(Collectors.toList());

        // Verify: 'includeAll=false' same as Java API
        Assert.assertArrayEquals(
                Context.getProviderService().getProviders(providerName, null, null, null, false).stream()
                        .map(BaseOpenmrsObject::getUuid).toArray(),
                nonRetiredUuids.toArray());
    }

    {
        // Setup
        MockHttpServletRequest request = newGetRequest(getURI());
        request.setParameter("q", providerName);
        request.setParameter("includeAll", "true");

        // Replay
        List<?> allProviders = deserialize(handle(request)).get("results");
        List<Object> allUuids = ((List<Map>) allProviders).stream().map(p -> p.get("uuid"))
                .collect(Collectors.toList());

        // Verify: 'includeAll=true' same as Java API
        Assert.assertArrayEquals(Context.getProviderService().getProviders(providerName, null, null, null, true)
                .stream().map(BaseOpenmrsObject::getUuid).toArray(), allUuids.toArray());
    }
}

From source file:org.openmrs.module.webservices.rest.web.v1_0.resource.openmrs2_1.CohortMembershipResource2_1WebTest.java

@Test
public void shouldPurge() throws Exception {
    MockHttpServletRequest request = newDeleteRequest(getURI() + "/" + getUuid());
    request.setParameter("purge", "true");
    handle(request);//from  w  w w .j av a  2  s. c  om
    assertNull(cohortService.getCohortMembershipByUuid(RestTestConstants2_1.COHORT_MEMBERSHIP_UUID));
}

From source file:org.oscarehr.casemgmt.web.CaseManagementEntryAction.java

public ActionForward runMacro(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    CaseManagementEntryFormBean cform = (CaseManagementEntryFormBean) form;
    MacroDao macroDao = (MacroDao) SpringUtils.getBean("macroDao");
    Macro macro = macroDao.find(ConversionUtils.fromIntString(request.getParameter("macro.id")));
    logger.info("loaded macro " + macro.getLabel());
    boolean cppFromMeasurements = false;
    String cpp = request.getParameter("cpp");
    if (cpp != null && cpp.equals("measurements")) {
        cppFromMeasurements = true;//from ww  w.  ja  v  a2  s  . com
    }

    cform.setCaseNote_note(cform.getCaseNote_note() + "\n" + macro.getImpression());

    ActionForward fwd = saveAndExit(mapping, form, request, response);

    if (fwd.getName().equals("windowClose")) {
        EyeFormDao eyeformDao = (EyeFormDao) SpringUtils.getBean("EyeFormDao");
        EyeForm eyeform = eyeformDao
                .getByAppointmentNo(ConversionUtils.fromIntString(cform.getAppointmentNo()));
        // load up the eyeform to set/unset checkboxes
        if (macro.getDischargeFlag() != null && macro.getDischargeFlag().equals("dischargeFlag")) {
            eyeform.setDischarge("true");
        }
        if (macro.getOptFlag() != null && macro.getOptFlag().equals("optFlag")) {
            eyeform.setOpt("true");
        }
        if (macro.getStatFlag() != null && macro.getStatFlag().equals("statFlag")) {
            eyeform.setStat("true");
        }
        eyeformDao.merge(eyeform);

        // follow ups
        FollowUpDao followUpDao = (FollowUpDao) SpringUtils.getBean("FollowUpDAO");
        int followUpNo = macro.getFollowupNo();
        String followUpUnit = macro.getFollowupUnit();
        String followUpDr = macro.getFollowupDoctorId();
        if (followUpNo > 0) {
            EyeformFollowUp f = new EyeformFollowUp();
            f.setAppointmentNo(ConversionUtils.fromIntString(cform.getAppointmentNo()));
            f.setDate(new Date());
            f.setDemographicNo(ConversionUtils.fromIntString(cform.getDemographicNo()));
            f.setProvider(LoggedInInfo.loggedInInfo.get().loggedInProvider);
            f.setTimeframe(followUpUnit);
            f.setTimespan(followUpNo);
            f.setType("followup");
            f.setUrgency("routine");
            f.setFollowupProvider(followUpDr);
            followUpDao.persist(f);
        }

        // tests
        TestBookRecordDao testDao = (TestBookRecordDao) SpringUtils.getBean("TestBookDAO");
        String[] tests = macro.getTestRecords().split("\n");
        for (String test : tests) {
            String[] parts = test.trim().split("\\|");
            if (parts.length == 3 || parts.length == 4) {
                EyeformTestBook rec = new EyeformTestBook();
                rec.setAppointmentNo(ConversionUtils.fromIntString(cform.getAppointmentNo()));
                if (parts.length == 4)
                    rec.setComment(parts[3]);
                else
                    rec.setComment("");
                rec.setDate(new Date());
                rec.setDemographicNo(ConversionUtils.fromIntString(cform.getDemographicNo()));
                rec.setEye(parts[1]);
                rec.setProvider(LoggedInInfo.loggedInInfo.get().loggedInProvider.getProviderNo());
                // rec.setStatus(null);
                rec.setTestname(parts[0]);
                rec.setUrgency(parts[2]);
                testDao.save(rec);
            }
        }

        // send tickler
        if (macro.getTicklerRecipient() != null && macro.getTicklerRecipient().length() > 0) {
            TicklerDAO ticklerDao = (TicklerDAO) SpringUtils.getBean("ticklerDAOT");
            Tickler t = new Tickler();
            t.setCreator(LoggedInInfo.loggedInInfo.get().loggedInProvider.getProviderNo());
            t.setDemographic_no(cform.getDemographicNo());
            t.setMessage(getMacroTicklerText(ConversionUtils.fromIntString(cform.getAppointmentNo())));
            t.setPriority("Normal");
            t.setService_date(new Date());
            t.setStatus('A');
            t.setTask_assigned_to(macro.getTicklerRecipient());
            t.setUpdate_date(new Date());
            ticklerDao.saveTickler(t);
        }

        // billing
        if (macro.getBillingCodes() != null && macro.getBillingCodes().length() > 0) {
            GstControlDao gstControlDao = (GstControlDao) SpringUtils.getBean("gstControlDao");
            BillingServiceDao billingServiceDao = (BillingServiceDao) SpringUtils.getBean("billingServiceDao");
            DemographicDao demographicDao = (DemographicDao) SpringUtils.getBean("demographicDao");
            Provider provider = LoggedInInfo.loggedInInfo.get().loggedInProvider;
            OscarAppointmentDao apptDao = (OscarAppointmentDao) SpringUtils.getBean("oscarAppointmentDao");

            Appointment appt = null;
            if (cform.getAppointmentNo() != null && cform.getAppointmentNo().length() > 0
                    && !cform.getAppointmentDate().equals("0")) {
                appt = apptDao.find(ConversionUtils.fromIntString(cform.getAppointmentNo()));
            }

            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
            String serviceDate = sf.format(new Date());

            // create a mock httprequest to fill in the preset values
            MockHttpServletRequest mockReq = new MockHttpServletRequest();
            mockReq.addParameter("dxCode", macro.getBillingDxcode());
            String[] bcodes = macro.getBillingCodes().replace("\r", "").split("\n");

            BigDecimal btotal = new BigDecimal(0);
            // must use 100.0 otherwise result will be an int
            BigDecimal gstFactor = new BigDecimal(1 + gstControlDao.find(1).getGstPercent().intValue() / 100.0);
            ArrayList<String[]> percentUnits = new ArrayList<String[]>();
            for (int i = 0; i < bcodes.length; i++) {
                if (StringUtils.isBlank(bcodes[i]))
                    continue;
                String[] codes = bcodes[i].split("\\|");
                mockReq.addParameter("xserviceCode_" + i, codes[0]);
                Object[] priceg = billingServiceDao.getUnitPrice(codes[0], serviceDate);
                mockReq.addParameter("xserviceUnit_" + i, codes[1]);
                String sliCode = OscarProperties.getInstance().getProperty("clinic_no");
                if (codes.length == 3 && !codes[2].equals("NA")) {
                    sliCode = codes[2];
                }
                mockReq.addParameter("xsliCode_" + i, sliCode);
                if (".00".equals(priceg[0])) {
                    percentUnits.add(codes);
                    mockReq.addParameter("percCodeSubtotal_" + i, (String) priceg[0]);
                    // skip to next as we deal with percentage later
                    continue;
                }

                // price is unit_price*unit*at_percent, but in macro we only assume at_percent=1
                // as it's not possible to enter percent value for macros (1-click action).
                BigDecimal price = new BigDecimal((String) priceg[0]).multiply(new BigDecimal(codes[1]));
                if ((Boolean) priceg[1] == true) {
                    // add GST
                    price = price.multiply(gstFactor);
                }
                mockReq.addParameter("percCodeSubtotal_" + i,
                        price.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());
                btotal = btotal.add(price).setScale(4, BigDecimal.ROUND_HALF_UP);

            }
            // now process percent codes
            BigDecimal stotal = new BigDecimal(0);
            for (String[] code : percentUnits) {
                String pct = billingServiceDao.getUnitPercentage(code[0], serviceDate);
                stotal = stotal.add(btotal.multiply(new BigDecimal(pct)));
            }
            btotal = btotal.add(stotal);
            mockReq.addParameter("totalItem", "" + bcodes.length);
            mockReq.addParameter("total", btotal.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString());

            Demographic demo = demographicDao
                    .getClientByDemographicNo(ConversionUtils.fromIntString(cform.getDemographicNo()));
            mockReq.setParameter("xml_billtype", macro.getBillingBilltype());
            if (macro.getSliCode() == null || macro.getSliCode().equals("NA")) {
                String value = OscarProperties.getInstance().getProperty("clinic_no", "");
                mockReq.setParameter("xml_slicode", value);
            } else {
                mockReq.setParameter("xml_slicode", macro.getSliCode());
            }
            // mockReq.addParameter("xml_billtype", "ODP | Bill OHIP");
            mockReq.addParameter("hin", demo.getHin());
            mockReq.addParameter("ver", demo.getVer());
            mockReq.addParameter("demographic_dob", demo.getDateOfBirth());
            mockReq.addParameter("appointment_no", cform.getAppointmentNo());
            mockReq.addParameter("demographic_name", demo.getLastName() + "," + demo.getFirstName());
            mockReq.addParameter("sex", "F".equalsIgnoreCase(demo.getSex()) ? "2" : "1");
            mockReq.addParameter("hc_type", demo.getHcType());
            String referalNo = getRefNo(demo.getFamilyDoctor());
            mockReq.addParameter("referralCode", referalNo);
            mockReq.addParameter("xml_location", macro.getBillingVisitLocation()); // visit location
            mockReq.addParameter("m_review", "N"); // manual review, always No
            // as it's automated
            mockReq.addParameter("clinic_no",
                    oscar.OscarProperties.getInstance().getProperty("clinic_no", "").trim());
            // clinic_location
            mockReq.addParameter("demographic_no", cform.getDemographicNo());
            mockReq.addParameter("service_date", serviceDate);
            SimpleDateFormat tf = new SimpleDateFormat("HH:mm");
            mockReq.addParameter("start_time", tf.format(new Date()));
            mockReq.addParameter("submit", "Save");
            mockReq.addParameter("comment", macro.getBillingComment());
            mockReq.addParameter("xml_visittype", macro.getBillingVisitType());
            //mockReq.addParameter("xml_vdate", cform.getAppointmentDate());  
            //No admission date in Macro, so give it default NULL instead of appt date.
            mockReq.addParameter("xml_vdate", "");

            mockReq.addParameter("apptProvider_no", appt == null ? "" : appt.getProviderNo());

            if (StringUtils.isBlank(macro.getBillingBillto())) {
                mockReq.addParameter("xml_provider", provider.getProviderNo() + "|" + provider.getOhipNo());
            } else {
                ProviderDao providerDao = (ProviderDao) SpringUtils.getBean("providerDao");
                Provider providerBilling = providerDao.getProvider(macro.getBillingBillto());
                mockReq.addParameter("xml_provider",
                        providerBilling.getProviderNo() + "|" + providerBilling.getOhipNo());
            }

            mockReq.getSession().setAttribute("user",
                    LoggedInInfo.loggedInInfo.get().loggedInProvider.getProviderNo());

            BillingSavePrep bObj = new BillingSavePrep();
            boolean ret = bObj.addABillingRecord(bObj.getBillingClaimObj(mockReq));
            /*
             * not applicable in macro context if (mockReq.getParameter("xml_billtype").substring(0, 3).matches( BillingDataHlp.BILLINGMATCHSTRING_3RDPARTY)) { mockReq.addParameter("billto", macro.getBillingBillto()); mockReq.addParameter("remitto",
             * macro.getBillingRemitto()); mockReq.addParameter("gstBilledTotal", macro .getBillingGstBilledTotal()); mockReq.addParameter("payment", macro.getBillingPayment()); mockReq.addParameter("refund", macro.getBillingRefund());
             * mockReq.addParameter("gst", macro.getBillingGst()); mockReq.addParameter("payMethod", macro.getBillingPayMethod());
             *
             * bObj.addPrivateBillExtRecord(mockReq); }
             */
            // int billingNo = bObj.getBillingId();

            // update appt and close the page
            if (ret) {
                if (!cform.getAppointmentNo().equals("0")) {
                    String apptCurStatus = bObj.getApptStatus(cform.getAppointmentNo());
                    oscar.appt.ApptStatusData as = new oscar.appt.ApptStatusData();
                    String billStatus = as.billStatus(apptCurStatus);
                    bObj.updateApptStatus(cform.getAppointmentNo(), billStatus, cform.getProviderNo());
                }
            } else
                log.error("++++++++++++++ Failed to add billing codes");
        }
    }

    return fwd;
}