use of org.orcid.pojo.ajaxForm.FundingForm in project ORCID-Source by ORCID.
the class FundingsControllerTest method testEditOtherSourceThrowsError.
@Test
@Rollback(true)
public void testEditOtherSourceThrowsError() {
HttpSession session = mock(HttpSession.class);
when(servletRequest.getSession()).thenReturn(session);
when(localeManager.getLocale()).thenReturn(new Locale("us", "EN"));
FundingForm funding = fundingController.getFundingJson(Long.valueOf("3"));
boolean throwsError = false;
try {
fundingController.postFunding(funding);
} catch (Exception e) {
throwsError = true;
}
assertEquals(throwsError, true);
}
use of org.orcid.pojo.ajaxForm.FundingForm in project ORCID-Source by ORCID.
the class FundingsControllerTest method testVAlidateAmountLocaleDE_CH.
@Test
public void testVAlidateAmountLocaleDE_CH() {
when(localeManager.getLocale()).thenReturn(new Locale("de", "CH"));
String[] validAmounts = { "1", "10", "100", "1000", "10000", "100000", "1000000", "10000000", "10000000", "1.0", "1.00", "10.0", "10.00", "100.0", "100.00", "1000.0", "1000.00", "1'000", "1'000.0", "1'000.00", "10'000", "100'000", "1'000'000", "10'000'000", "100'000'000", "100'000'000.0", "100'000'000.00", "1'000'000'000", "1'000'000'000.0", "1'000'000'000.00", "10'000'000'000", "10'000'000.99" };
String[] invalidAmounts = { "a", ".", "1 000", "1 000 000", "1,000 000", "1 000,000", "1,000", "1,000,000", "1,000.0", "1,000.00", "$1000", "$100" };
for (String amount : validAmounts) {
FundingForm form = new FundingForm();
form.setAmount(Text.valueOf(amount));
form.setCurrencyCode(Text.valueOf("USD"));
form = fundingController.validateAmount(form);
assertNotNull(form.getAmount());
assertNotNull(form.getAmount().getErrors());
assertEquals("The following number has been marked as invalid: " + amount, 0, form.getAmount().getErrors().size());
}
for (String amount : invalidAmounts) {
FundingForm form = new FundingForm();
form.setAmount(Text.valueOf(amount));
form.setCurrencyCode(Text.valueOf("USD"));
form = fundingController.validateAmount(form);
assertNotNull(form.getAmount());
assertEquals("The following incorrect number has been marked as valid: " + amount, 1, form.getAmount().getErrors().size());
}
}
use of org.orcid.pojo.ajaxForm.FundingForm in project ORCID-Source by ORCID.
the class FundingsControllerTest method testAddFundingWithoutAmount.
@Test
@Rollback(true)
public void testAddFundingWithoutAmount() throws Exception {
HttpSession session = mock(HttpSession.class);
when(servletRequest.getSession()).thenReturn(session);
when(localeManager.getLocale()).thenReturn(new Locale("us", "EN"));
FundingForm funding = fundingController.getFunding();
funding.setFundingType(Text.valueOf("award"));
FundingTitleForm title = new FundingTitleForm();
title.setTitle(Text.valueOf("Title"));
funding.setFundingTitle(title);
funding.setCountry(Text.valueOf("CR"));
funding.setCity(Text.valueOf("SJ"));
funding.setRegion(Text.valueOf("SJ"));
funding.setFundingName(Text.valueOf("OrgName"));
FundingForm result = fundingController.postFunding(funding);
assertEquals(funding.getFundingTitle().getTitle(), result.getFundingTitle().getTitle());
assertEquals(funding.getFundingType(), result.getFundingType());
assertEquals(funding.getCountry(), result.getCountry());
assertEquals(funding.getCity(), result.getCity());
assertEquals(funding.getRegion(), result.getRegion());
assertEquals(funding.getCountry(), result.getCountry());
assertNotNull(funding.getErrors());
assertEquals(0, funding.getErrors().size());
}
use of org.orcid.pojo.ajaxForm.FundingForm in project ORCID-Source by ORCID.
the class FundingsControllerTest method testGetFundingsJson.
@Test
public void testGetFundingsJson() {
when(localeManager.getLocale()).thenReturn(new Locale("us", "EN"));
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpSession session = new MockHttpSession();
request.setSession(session);
request.addPreferredLocale(new Locale("us", "EN"));
List<FundingForm> fundings = fundingController.getFundingsJson(request, "1");
assertNotNull(fundings);
assertEquals(1, fundings.size());
FundingForm funding = fundings.get(0);
List<Contributor> contributors = funding.getContributors();
Contributor contributor = contributors.get(0);
assertNull(contributor.getEmail());
assertEquals("Jaylen Kessler", contributor.getCreditName().getValue());
contributor = contributors.get(1);
assertNull(contributor.getEmail());
assertEquals("John Smith", contributor.getCreditName().getValue());
contributor = contributors.get(2);
assertNull(contributor.getEmail());
assertEquals("Credit Name", contributor.getCreditName().getValue());
// contributor is an ORCID user with private name
contributor = contributors.get(3);
assertNull(contributor.getEmail());
assertNull(contributor.getCreditName().getValue());
}
use of org.orcid.pojo.ajaxForm.FundingForm in project ORCID-Source by ORCID.
the class FundingsController method getFundingsJson.
/**
* List fundings associated with a profile
* */
@SuppressWarnings("unchecked")
@RequestMapping(value = "/fundings.json", method = RequestMethod.GET)
@ResponseBody
public List<FundingForm> getFundingsJson(HttpServletRequest request, @RequestParam(value = "fundingIds") String fundingIdsStr) {
List<FundingForm> fundingList = new ArrayList<>();
FundingForm funding = null;
String[] fundingIds = fundingIdsStr.split(",");
if (fundingIds != null) {
HashMap<String, FundingForm> fundingsMap = (HashMap<String, FundingForm>) request.getSession().getAttribute(GRANT_MAP);
// this should never happen, but just in case.
if (fundingsMap == null) {
createFundingIdList(request);
fundingsMap = (HashMap<String, FundingForm>) request.getSession().getAttribute(GRANT_MAP);
}
for (String fundingId : fundingIds) {
funding = fundingsMap.get(fundingId);
fundingList.add(funding);
}
}
return fundingList;
}
Aggregations