public async void GetCategoriesByType_WhenExists_ReturnsDistincted()
        {
            using (var fixture = new ExamsFixture())
            {
                var exams = new List <Exam>()
                {
                    new ExamBuilder("First Exam", ExamType.GeneralKnowledge, "Kardiologia").Build(),
                    new ExamBuilder("Second Exam", ExamType.GeneralKnowledge, "Interna").Build(),
                    new ExamBuilder("Third Exam", ExamType.Specialization, "Kardiologia").Build(),
                    new ExamBuilder("Fourth Exam", ExamType.GeneralKnowledge, "Kardiologia").Build(),
                    new ExamBuilder("Fifth Exam", ExamType.GeneralKnowledge, "Interna").Build(),
                    new ExamBuilder("Sixth Exam", ExamType.Specialization, "Urologia").Build(),
                    new ExamBuilder("Seventh Exam", ExamType.GeneralKnowledge, "Nefrologia").Build()
                };
                await fixture.AddMany(exams);

                var query = new GetCategoriesByTypeQuery {
                    Type = ExamType.GeneralKnowledge
                };
                var handler = new GetCategoriesByTypeQueryHandler(fixture.Repository);
                var result  = await handler.HandleAsync(query);

                result.Content.Should().BeEquivalentTo(new CategoriesResult(
                                                           new []
                {
                    new CategoriesResult.Category("Kardiologia"),
                    new CategoriesResult.Category("Interna"),
                    new CategoriesResult.Category("Nefrologia"),
                })
                                                       );
            }
        }
 public async Task <IActionResult> Get([FromRoute] GetCategoriesByTypeQuery query)
 => await DispatchQueryAsync(query);