package jnpf.limsService.impl;
|
|
import jnpf.lims.api.model.TestWorkItemRequestIdentityBatch;
|
import jnpf.lims.api.model.TestWorkItemRequestIdentity;
|
import jnpf.lims.api.model.TestWorkItemRequestIdentityRequest;
|
import jnpf.limsEntity.LimsJianyanXiangEntity;
|
import org.junit.Test;
|
|
import java.util.Arrays;
|
import java.util.Collections;
|
|
import static org.junit.Assert.assertEquals;
|
|
public class LimsTestWorkItemRequestIdentityServiceImplTest {
|
|
@Test
|
public void resolvesSubmittedSourceRequestIdentityWithoutUsingSnapshotReadState() {
|
LimsJianyanXiangEntity source = task("source-item", "tenant-a", "pending_audit", "request-1");
|
LimsTestWorkItemRequestIdentityServiceImpl service =
|
new LimsTestWorkItemRequestIdentityServiceImpl(
|
(tenantId, testWorkItemIds) -> Collections.singletonList(source));
|
TestWorkItemRequestIdentityRequest request = new TestWorkItemRequestIdentityRequest();
|
request.setTestWorkItemIds(Arrays.asList("source-item"));
|
|
TestWorkItemRequestIdentityBatch batch = service.resolve("tenant-a", request);
|
TestWorkItemRequestIdentity item = batch.getItems().get(0);
|
|
assertEquals("source-item", item.getTestWorkItemId());
|
assertEquals("request-1", item.getTestRequestId());
|
assertEquals("pending_audit", item.getTaskStatus());
|
assertEquals("SUCCESS", item.getOutcomeCode());
|
}
|
|
@Test
|
public void reportsMissingIdentityInsteadOfInferringItFromTaskFields() {
|
LimsJianyanXiangEntity source = task("source-item", "tenant-a", "audited", null);
|
LimsTestWorkItemRequestIdentityServiceImpl service =
|
new LimsTestWorkItemRequestIdentityServiceImpl(
|
(tenantId, testWorkItemIds) -> Collections.singletonList(source));
|
TestWorkItemRequestIdentityRequest request = new TestWorkItemRequestIdentityRequest();
|
request.setTestWorkItemIds(Arrays.asList("source-item", "missing-item"));
|
|
TestWorkItemRequestIdentityBatch batch = service.resolve("tenant-a", request);
|
|
assertEquals("TEST_REQUEST_INVALID", batch.getItems().get(0).getOutcomeCode());
|
assertEquals("NOT_FOUND", batch.getItems().get(1).getOutcomeCode());
|
}
|
|
private static LimsJianyanXiangEntity task(String id, String tenantId, String status,
|
String requestId) {
|
LimsJianyanXiangEntity task = new LimsJianyanXiangEntity();
|
task.setId(id);
|
task.setTenantId(tenantId);
|
task.setJianyanZhuangtai(status);
|
task.setQingyandanId(requestId);
|
return task;
|
}
|
}
|