in src/Shared/Infrastructure/Infrastructure.Persistence.IntegrationTests/StatusChangeRepositoryTests.cs [32:56]
public void TestStatusChangeRequest()
{
var medicalCode = "XYZ123";
var infectedStatusId = 1;
var repository = ServiceProvider.GetService<IStatusChangeRepository>();
var changeRequest = new StatusChangeRequest(infectedStatusId, new DateTime(2020, 4, 1), "Comment");
var firstRequestSuccessful = repository.TryCreateChangeRequest(medicalCode, changeRequest, "medicalUserToken");
Assert.That(firstRequestSuccessful, Is.True);
var secondRequestSuccessful = repository.TryCreateChangeRequest(medicalCode, changeRequest, "otherDoctor");
Assert.That(secondRequestSuccessful, Is.False);
var statusChange = new Table<StatusChange>(CassandraSession.Session)
.FirstOrDefault(row => row.MedicalCode == medicalCode)
.Execute();
Assert.That(statusChange, Is.Not.Null);
Assert.That(statusChange.AcceptedAt, Is.Null);
Assert.That(statusChange.Comment, Is.EqualTo(changeRequest.Comment));
Assert.That(statusChange.CreatedAt, Is.Not.Null);
Assert.That(statusChange.RequestedBy, Is.EqualTo("medicalUserToken"));
Assert.That(statusChange.StatusId, Is.EqualTo(changeRequest.StatusId));
Assert.That(statusChange.StatusChangedOn, Is.EqualTo(changeRequest.StatusChangedOn));
}