/**
* =============================================================================
*
* ORCID (R) Open Source
* http://orcid.org
*
* Copyright (c) 2012-2014 ORCID, Inc.
* Licensed under an MIT-Style License (MIT)
* http://orcid.org/open-source-license
*
* This copyright and license information (including a link to the full license)
* shall be included in its entirety in all copies or substantial portion of
* the software.
*
* =============================================================================
*/
package org.orcid.core.manager;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import javax.annotation.Resource;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.orcid.jaxb.model.record.summary_v2.ActivitiesSummary;
import org.orcid.test.DBUnitTest;
import org.orcid.test.OrcidJUnit4ClassRunner;
import org.springframework.test.context.ContextConfiguration;
@RunWith(OrcidJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:orcid-core-context.xml" })
public class ActivitiesSummaryManagerTest extends DBUnitTest {
private static final List<String> DATA_FILES = Arrays.asList("/data/EmptyEntityData.xml", "/data/SecurityQuestionEntityData.xml",
"/data/SourceClientDetailsEntityData.xml", "/data/ProfileEntityData.xml", "/data/WorksEntityData.xml", "/data/ClientDetailsEntityData.xml",
"/data/Oauth2TokenDetailsData.xml", "/data/OrgsEntityData.xml", "/data/ProfileFundingEntityData.xml", "/data/OrgAffiliationEntityData.xml",
"/data/PeerReviewEntityData.xml", "/data/GroupIdRecordEntityData.xml", "/data/RecordNameEntityData.xml");
private static final String ORCID = "0000-0000-0000-0003";
@Resource
private ActivitiesSummaryManager activitiesSummaryManager;
@BeforeClass
public static void initDBUnitData() throws Exception {
initDBUnitData(DATA_FILES);
}
@AfterClass
public static void removeDBUnitData() throws Exception {
Collections.reverse(DATA_FILES);
removeDBUnitData(DATA_FILES);
}
@Test
public void testGetActivitiesSummary() {
ActivitiesSummary summary = activitiesSummaryManager.getActivitiesSummary(ORCID);
assertNotNull(summary);
assertNotNull(summary.getEducations());
assertNotNull(summary.getEducations().getSummaries());
assertEquals(5, summary.getEducations().getSummaries().size());
assertNotNull(summary.getEmployments());
assertNotNull(summary.getEmployments().getSummaries());
assertEquals(5, summary.getEmployments().getSummaries().size());
assertNotNull(summary.getFundings());
assertNotNull(summary.getFundings().getFundingGroup());
assertEquals(5, summary.getFundings().getFundingGroup().size());
assertNotNull(summary.getPeerReviews());
assertNotNull(summary.getPeerReviews().getPeerReviewGroup());
assertEquals(5, summary.getPeerReviews().getPeerReviewGroup().size());
assertNotNull(summary.getWorks());
assertNotNull(summary.getWorks().getWorkGroup());
assertEquals(5, summary.getWorks().getWorkGroup().size());
}
@Test
public void testGetPublicActivitiesSummary() {
ActivitiesSummary summary = activitiesSummaryManager.getPublicActivitiesSummary(ORCID);
assertNotNull(summary);
assertNotNull(summary.getEducations());
assertNotNull(summary.getEducations().getSummaries());
assertEquals(1, summary.getEducations().getSummaries().size());
assertEquals(Long.valueOf(20), summary.getEducations().getSummaries().get(0).getPutCode());
assertNotNull(summary.getEmployments());
assertNotNull(summary.getEmployments().getSummaries());
assertEquals(1, summary.getEmployments().getSummaries().size());
assertEquals(Long.valueOf(17), summary.getEmployments().getSummaries().get(0).getPutCode());
assertNotNull(summary.getFundings());
assertNotNull(summary.getFundings().getFundingGroup());
assertEquals(1, summary.getFundings().getFundingGroup().size());
assertEquals(Long.valueOf(10), summary.getFundings().getFundingGroup().get(0).getFundingSummary().get(0).getPutCode());
assertNotNull(summary.getPeerReviews());
assertNotNull(summary.getPeerReviews().getPeerReviewGroup());
assertEquals(1, summary.getPeerReviews().getPeerReviewGroup().size());
assertEquals(Long.valueOf(9), summary.getPeerReviews().getPeerReviewGroup().get(0).getPeerReviewSummary().get(0).getPutCode());
assertNotNull(summary.getWorks());
assertNotNull(summary.getWorks().getWorkGroup());
assertEquals(1, summary.getWorks().getWorkGroup().size());
assertEquals(Long.valueOf(11), summary.getWorks().getWorkGroup().get(0).getWorkSummary().get(0).getPutCode());
}
}