public void TestStatusChangeRequest()

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));
        }