Skip to content

Commit

Permalink
adding test for same statues
Browse files Browse the repository at this point in the history
Signed-off-by: Neil South <[email protected]>
  • Loading branch information
neildsouth committed May 20, 2024
1 parent 47f0192 commit 4193ed3
Showing 1 changed file with 82 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3702,6 +3702,88 @@ public async Task ProcessTaskUpdate_ValidTaskUpdateEventWithExportHl7TaskDestina
response.Should().BeTrue();
}

[Fact]
public async Task ProcessTaskUpdate_ValidTaskUpdateEventWith_Same_Status_returns_true()
{
var workflowInstanceId = Guid.NewGuid().ToString();
var taskId = Guid.NewGuid().ToString();

var updateEvent = new TaskUpdateEvent
{
WorkflowInstanceId = workflowInstanceId,
TaskId = "pizza",
ExecutionId = Guid.NewGuid().ToString(),
Status = TaskExecutionStatus.Succeeded,
};

var workflowId = Guid.NewGuid().ToString();

var workflow = new WorkflowRevision
{
Id = Guid.NewGuid().ToString(),
WorkflowId = workflowId,
Revision = 1,
Workflow = new Workflow
{
Name = "Workflowname2",
Description = "Workflowdesc2",
Version = "1",
InformaticsGateway = new InformaticsGateway
{
AeTitle = "aetitle"
},
Tasks = new TaskObject[]
{
new TaskObject {
Id = "pizza",
Type = "type",
Description = "taskdesc",
TaskDestinations = new TaskDestination[]
{
new TaskDestination
{
Name = "exporttaskid"
},
}
}
}
}
};

var workflowInstance = new WorkflowInstance
{
Id = workflowInstanceId,
WorkflowId = workflowId,
WorkflowName = workflow.Workflow.Name,
PayloadId = Guid.NewGuid().ToString(),
Status = Status.Created,
BucketId = "bucket",
Tasks = new List<TaskExecution>
{
new TaskExecution
{
TaskId = "pizza",
Status = TaskExecutionStatus.Succeeded
}
}
};

_workflowInstanceRepository.Setup(w => w.UpdateTaskStatusAsync(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<TaskExecutionStatus>())).ReturnsAsync(true);
_workflowInstanceRepository.Setup(w => w.GetByWorkflowInstanceIdAsync(workflowInstance.Id)).ReturnsAsync(workflowInstance);
_workflowInstanceRepository.Setup(w => w.UpdateTasksAsync(workflowInstance.Id, It.IsAny<List<TaskExecution>>())).ReturnsAsync(true);
_workflowRepository.Setup(w => w.GetByWorkflowIdAsync(workflowInstance.WorkflowId)).ReturnsAsync(workflow);
_payloadService.Setup(p => p.GetByIdAsync(It.IsAny<string>())).ReturnsAsync(new Payload { PatientDetails = new PatientDetails { } });
_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" } });

var response = await WorkflowExecuterService.ProcessTaskUpdate(updateEvent);

_messageBrokerPublisherService.Verify(w => w.Publish(_configuration.Value.Messaging.Topics.ExportHL7, It.IsAny<Message>()), Times.Exactly(0));

_logger.Verify(logger => logger.IsEnabled(LogLevel.Trace),Times.Once);

response.Should().BeTrue();
}

[Fact]
public async Task ProcessPayload_With_Multiple_Taskdestinations_One_Has_Inputs()
{
Expand Down

0 comments on commit 4193ed3

Please sign in to comment.