public async Task get_sprint_query_succeeds_when_sprint_exists()
        {
            var sprintId    = "sprintKey" + Guid.NewGuid();
            var title       = "Title";
            var description = "description";
            var projectId   = "projectKey" + Guid.NewGuid();
            var createdAt   = DateTime.Now;
            var startedAt   = DateTime.MinValue;
            var startDate   = DateTime.MinValue;
            var endDate     = DateTime.MaxValue;
            var endedAt     = DateTime.MaxValue;

            var sprint = new Sprint(sprintId, title, description, projectId, null, createdAt, startedAt, startDate, endDate, endedAt);

            await _sprintMongoDbFixture.InsertAsync(sprint.AsDocument());


            var query = new GetSprint(sprintId);

            // Check if exception is thrown

            var requestResult = _queryHandler
                                .Awaiting(c => c.HandleAsync(query));

            requestResult.Should().NotThrow();

            var result = await requestResult();

            result.Should().NotBeNull();
            result.Id.Should().Be(sprintId);
            result.Title.Should().Be(title);
            result.Description.Should().Be(description);
        }
        public async Task get_sprint_query_should_return_null_when_sprint_does_not_exist()
        {
            var sprintId = "notExistingSprintKey";

            var query = new GetSprint(sprintId);

            // Check if exception is thrown

            var requestResult = _queryHandler
                                .Awaiting(c => c.HandleAsync(query));

            requestResult.Should().NotThrow();

            var result = await requestResult();

            result.Should().BeNull();
        }
        public async Task <SprintResponse> HandleAsync(GetSprint query)
        {
            var sprint = await repository.GetAsync(query.SprintId);

            return(new SprintResponse(sprint.Id, sprint.Name, sprint.Start, sprint.End, sprint.Status, sprint.UnfinishedIssues, sprint.Version));
        }