|
@@ -3,6 +3,7 @@ package com.mooctest.crowd.domain.domainobject;
|
|
|
import com.mooctest.crowd.domain.command.CrowdTestProjectCommand;
|
|
|
import com.mooctest.crowd.domain.command.CrowdTestTaskCommand;
|
|
|
import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
|
|
|
+import com.mooctest.crowd.domain.exception.CrowdTestTaskNoPriceException;
|
|
|
import com.mooctest.crowd.domain.exception.CrowdTestTaskNotExistException;
|
|
|
import com.mooctest.crowd.domain.repository.CrowdTestProjectRepo;
|
|
|
import org.junit.Test;
|
|
@@ -18,16 +19,17 @@ import static org.junit.Assert.*;
|
|
|
public class RegionalManagerTest {
|
|
|
|
|
|
private CrowdTestProject crowdTestProject = new CrowdTestProject();
|
|
|
- private CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
+ private CrowdTestProjectRepo crowdTestProjectRepo = new CrowdTestProjectRepo();
|
|
|
private CrowdTestProjectCommand crowdTestProjectCommand = new CrowdTestProjectCommand();
|
|
|
private CrowdTestTaskCommand crowdTestTaskCommand = new CrowdTestTaskCommand();
|
|
|
private GeneralUserTest generalUserTest = new GeneralUserTest();
|
|
|
private RegionalManager regionalManager = new RegionalManager();
|
|
|
+
|
|
|
@Test
|
|
|
public void should_modify_status_received_when_receive_crowd_test_project() throws CrowdTestProjectNotExistException {
|
|
|
// arrange
|
|
|
crowdTestProjectCommand.setId(1L);
|
|
|
- crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.received);
|
|
|
+ crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.RECEIVED);
|
|
|
// action
|
|
|
CrowdTestProject crowdTestProject = crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
|
|
|
// assert
|
|
@@ -38,7 +40,7 @@ public class RegionalManagerTest {
|
|
|
public void should_throw_when_receive_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException {
|
|
|
// arrange
|
|
|
crowdTestProjectCommand.setId(2L);
|
|
|
- crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.received);
|
|
|
+ crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.RECEIVED);
|
|
|
// action
|
|
|
crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
|
|
|
}
|
|
@@ -57,7 +59,6 @@ public class RegionalManagerTest {
|
|
|
public void should_return_crowd_test_task_list_when_split_crowd_test_project_success() throws CrowdTestProjectNotExistException {
|
|
|
// arrange
|
|
|
crowdTestProjectCommand.setId(1L);
|
|
|
- GeneralUser generalUser = new GeneralUser();
|
|
|
// action
|
|
|
List<CrowdTestTask> crowdTestTasks = regionalManager.splitCrowdTestProjectToCrowdTestTaskList(crowdTestProjectCommand.getId());
|
|
|
// assert
|
|
@@ -74,7 +75,7 @@ public class RegionalManagerTest {
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- public void should_return_ture_when_make_a_price_for_crowd_test_project_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
|
|
|
+ public void should_return_true_when_make_a_price_for_crowd_test_project_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
|
|
|
// arrange
|
|
|
crowdTestTaskCommand.setId(101L);
|
|
|
crowdTestTaskCommand.setProjectId(1L);
|
|
@@ -83,13 +84,13 @@ public class RegionalManagerTest {
|
|
|
Long id = crowdTestTaskCommand.getId();
|
|
|
Double price = crowdTestTaskCommand.getPrice();
|
|
|
// action
|
|
|
- CrowdTestProject crowdTestProject = regionalManager.fixedPriceForCrowdTestTask(projectId,id,price);
|
|
|
+ CrowdTestProject crowdTestProject = regionalManager.fixedPriceForCrowdTestTask(projectId, id, price);
|
|
|
List<CrowdTestTask> crowdTestTaskList = crowdTestProjectRepo.getByID(crowdTestProject.getId()).getCrowdTestTaskList();
|
|
|
for (CrowdTestTask crowdTestTask : crowdTestTaskList
|
|
|
- ) {
|
|
|
- if(crowdTestTask.getId().equals(id)){
|
|
|
+ ) {
|
|
|
+ if (crowdTestTask.getId().equals(id)) {
|
|
|
// assert
|
|
|
- assertEquals(price,crowdTestTask.getPrice());
|
|
|
+ assertEquals(price, crowdTestTask.getPrice());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -104,7 +105,7 @@ public class RegionalManagerTest {
|
|
|
Long id = crowdTestTaskCommand.getId();
|
|
|
Double price = crowdTestTaskCommand.getPrice();
|
|
|
// action
|
|
|
- regionalManager.fixedPriceForCrowdTestTask(projectId,id,price);
|
|
|
+ regionalManager.fixedPriceForCrowdTestTask(projectId, id, price);
|
|
|
}
|
|
|
|
|
|
@Test(expected = CrowdTestTaskNotExistException.class)
|
|
@@ -117,56 +118,88 @@ public class RegionalManagerTest {
|
|
|
Long id = crowdTestTaskCommand.getId();
|
|
|
Double price = crowdTestTaskCommand.getPrice();
|
|
|
// action
|
|
|
- regionalManager.fixedPriceForCrowdTestTask(projectId,id,price);
|
|
|
+ regionalManager.fixedPriceForCrowdTestTask(projectId, id, price);
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- public void should_retrun_true_when_distribute_crowd_test_task_to_evaluation_agency_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
|
|
|
+ public void should_return_true_when_distribute_crowd_test_task_to_evaluation_agency_success() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
|
|
|
// arrange
|
|
|
crowdTestTaskCommand.setId(101L);
|
|
|
crowdTestTaskCommand.setProjectId(1L);
|
|
|
- crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.released);
|
|
|
+ crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
|
|
|
Long projectId = crowdTestTaskCommand.getProjectId();
|
|
|
- Long id = crowdTestTaskCommand.getId();
|
|
|
+ Long taskId = crowdTestTaskCommand.getId();
|
|
|
String status = crowdTestProjectCommand.getStatus();
|
|
|
// action
|
|
|
- boolean resule = regionalManager.distributeCrowdTestTask(projectId, id, status);
|
|
|
+ boolean result = crowdTestProject.updateCrowdTestTaskStatus(projectId, taskId, status);
|
|
|
|
|
|
// assert
|
|
|
- assertTrue(resule);
|
|
|
+ assertTrue(result);
|
|
|
}
|
|
|
|
|
|
@Test(expected = CrowdTestProjectNotExistException.class)
|
|
|
- public void should_throw_when_distribute_crowd_test_task_to_evaluation_agency_project_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
|
|
|
+ public void should_throw_when_distribute_crowd_test_task_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
|
|
|
// arrange
|
|
|
crowdTestTaskCommand.setId(101L);
|
|
|
crowdTestTaskCommand.setProjectId(2L);
|
|
|
- crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.released);
|
|
|
+ crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
|
|
|
Long projectId = crowdTestTaskCommand.getProjectId();
|
|
|
- Long id = crowdTestTaskCommand.getId();
|
|
|
+ Long taskId = crowdTestTaskCommand.getId();
|
|
|
String status = crowdTestProjectCommand.getStatus();
|
|
|
// action
|
|
|
- regionalManager.distributeCrowdTestTask(projectId, id, status);
|
|
|
+ crowdTestProject.updateCrowdTestTaskStatus(projectId, taskId, status);
|
|
|
}
|
|
|
|
|
|
@Test(expected = CrowdTestTaskNotExistException.class)
|
|
|
- public void should_throw_when_distribute_crowd_test_task_to_evaluation_agency_tesk_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException {
|
|
|
+ public void should_throw_when_distribute_crowd_test_task_crowd_test_task_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
|
|
|
// arrange
|
|
|
crowdTestTaskCommand.setId(103L);
|
|
|
crowdTestTaskCommand.setProjectId(1L);
|
|
|
- crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.released);
|
|
|
+ crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
|
|
|
Long projectId = crowdTestTaskCommand.getProjectId();
|
|
|
- Long id = crowdTestTaskCommand.getId();
|
|
|
+ Long taskId = crowdTestTaskCommand.getId();
|
|
|
String status = crowdTestProjectCommand.getStatus();
|
|
|
// action
|
|
|
- regionalManager.distributeCrowdTestTask(projectId, id, status);
|
|
|
+ crowdTestProject.updateCrowdTestTaskStatus(projectId, taskId, status);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test(expected = CrowdTestTaskNoPriceException.class)
|
|
|
+ public void should_throw_when_distribute_crowd_test_task_price_not_exist() throws CrowdTestProjectNotExistException, CrowdTestTaskNotExistException, CrowdTestTaskNoPriceException {
|
|
|
+ // arrange
|
|
|
+ crowdTestTaskCommand.setId(101L);
|
|
|
+ crowdTestTaskCommand.setProjectId(1L);
|
|
|
+ crowdTestTaskCommand.setStatus(CrowdTestTaskStatus.RELEASED);
|
|
|
+ Long projectId = crowdTestTaskCommand.getProjectId();
|
|
|
+ Long taskId = crowdTestTaskCommand.getId();
|
|
|
+ String status = crowdTestProjectCommand.getStatus();
|
|
|
+ // action
|
|
|
+ crowdTestProject.updateCrowdTestTaskStatusNoPrice(projectId, taskId, status);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void should_modify_all_task_status_finished_when_aggregation_task() throws CrowdTestProjectNotExistException {
|
|
|
+ // arrange
|
|
|
+ crowdTestProjectCommand.setId(1L);
|
|
|
+ Long projectId = crowdTestProjectCommand.getId();
|
|
|
+ // action
|
|
|
+ List<CrowdTestTask> crowdTestTaskList = crowdTestProject.updateCrowdTestTaskListStatus(projectId, CrowdTestTaskStatus.FINISHED);
|
|
|
+ // assert
|
|
|
+ boolean result = true;
|
|
|
+ for (CrowdTestTask crowdTestTask : crowdTestTaskList) {
|
|
|
+ if (crowdTestTask.getStatus().equals("HAS_FINISHED")){
|
|
|
+ continue;
|
|
|
+ }else{
|
|
|
+ result = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ assertTrue(result);
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
- public void should_modify_status_finished_when_submit_crowd_test_project_success() throws CrowdTestProjectNotExistException {
|
|
|
+ public void should_modify_project_status_finished_when_submit_crowd_test_project_success() throws CrowdTestProjectNotExistException {
|
|
|
// arrange
|
|
|
crowdTestProjectCommand.setId(1L);
|
|
|
- crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.finished);
|
|
|
+ crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.FINISHED);
|
|
|
// action
|
|
|
CrowdTestProject crowdTestProject = crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
|
|
|
// assert
|
|
@@ -177,7 +210,7 @@ public class RegionalManagerTest {
|
|
|
public void should_throw_when_submit_crowd_test_project_not_exist() throws CrowdTestProjectNotExistException {
|
|
|
// arrange
|
|
|
crowdTestProjectCommand.setId(2L);
|
|
|
- crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.finished);
|
|
|
+ crowdTestProjectCommand.setStatus(CrowdTestProjectStatus.FINISHED);
|
|
|
// action
|
|
|
crowdTestProjectRepo.updateCrowdTestProjectStatus(crowdTestProjectCommand.getId(), crowdTestProjectCommand.getStatus());
|
|
|
}
|