Skip to content

Commit 4193ed3

Browse files
committed
adding test for same statues
Signed-off-by: Neil South <neil.south@answerdigital.com>
1 parent 47f0192 commit 4193ed3

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed

tests/UnitTests/WorkflowExecuter.Tests/Services/WorkflowExecuterServiceTests.cs

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3702,6 +3702,88 @@ public async Task ProcessTaskUpdate_ValidTaskUpdateEventWithExportHl7TaskDestina
37023702
response.Should().BeTrue();
37033703
}
37043704

3705+
[Fact]
3706+
public async Task ProcessTaskUpdate_ValidTaskUpdateEventWith_Same_Status_returns_true()
3707+
{
3708+
var workflowInstanceId = Guid.NewGuid().ToString();
3709+
var taskId = Guid.NewGuid().ToString();
3710+
3711+
var updateEvent = new TaskUpdateEvent
3712+
{
3713+
WorkflowInstanceId = workflowInstanceId,
3714+
TaskId = "pizza",
3715+
ExecutionId = Guid.NewGuid().ToString(),
3716+
Status = TaskExecutionStatus.Succeeded,
3717+
};
3718+
3719+
var workflowId = Guid.NewGuid().ToString();
3720+
3721+
var workflow = new WorkflowRevision
3722+
{
3723+
Id = Guid.NewGuid().ToString(),
3724+
WorkflowId = workflowId,
3725+
Revision = 1,
3726+
Workflow = new Workflow
3727+
{
3728+
Name = "Workflowname2",
3729+
Description = "Workflowdesc2",
3730+
Version = "1",
3731+
InformaticsGateway = new InformaticsGateway
3732+
{
3733+
AeTitle = "aetitle"
3734+
},
3735+
Tasks = new TaskObject[]
3736+
{
3737+
new TaskObject {
3738+
Id = "pizza",
3739+
Type = "type",
3740+
Description = "taskdesc",
3741+
TaskDestinations = new TaskDestination[]
3742+
{
3743+
new TaskDestination
3744+
{
3745+
Name = "exporttaskid"
3746+
},
3747+
}
3748+
}
3749+
}
3750+
}
3751+
};
3752+
3753+
var workflowInstance = new WorkflowInstance
3754+
{
3755+
Id = workflowInstanceId,
3756+
WorkflowId = workflowId,
3757+
WorkflowName = workflow.Workflow.Name,
3758+
PayloadId = Guid.NewGuid().ToString(),
3759+
Status = Status.Created,
3760+
BucketId = "bucket",
3761+
Tasks = new List<TaskExecution>
3762+
{
3763+
new TaskExecution
3764+
{
3765+
TaskId = "pizza",
3766+
Status = TaskExecutionStatus.Succeeded
3767+
}
3768+
}
3769+
};
3770+
3771+
_workflowInstanceRepository.Setup(w => w.UpdateTaskStatusAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<TaskExecutionStatus>())).ReturnsAsync(true);
3772+
_workflowInstanceRepository.Setup(w => w.GetByWorkflowInstanceIdAsync(workflowInstance.Id)).ReturnsAsync(workflowInstance);
3773+
_workflowInstanceRepository.Setup(w => w.UpdateTasksAsync(workflowInstance.Id, It.IsAny<List<TaskExecution>>())).ReturnsAsync(true);
3774+
_workflowRepository.Setup(w => w.GetByWorkflowIdAsync(workflowInstance.WorkflowId)).ReturnsAsync(workflow);
3775+
_payloadService.Setup(p => p.GetByIdAsync(It.IsAny<string>())).ReturnsAsync(new Payload { PatientDetails = new PatientDetails { } });
3776+
_artifactMapper.Setup(a => a.ConvertArtifactVariablesToPath(It.IsAny<Artifact[]>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<bool>())).ReturnsAsync(new Dictionary<string, string> { { "dicomexport", "/dcm" } });
3777+
3778+
var response = await WorkflowExecuterService.ProcessTaskUpdate(updateEvent);
3779+
3780+
_messageBrokerPublisherService.Verify(w => w.Publish(_configuration.Value.Messaging.Topics.ExportHL7, It.IsAny<Message>()), Times.Exactly(0));
3781+
3782+
_logger.Verify(logger => logger.IsEnabled(LogLevel.Trace),Times.Once);
3783+
3784+
response.Should().BeTrue();
3785+
}
3786+
37053787
[Fact]
37063788
public async Task ProcessPayload_With_Multiple_Taskdestinations_One_Has_Inputs()
37073789
{

0 commit comments

Comments
 (0)