public async Task ListByCrew_WithCorrectId_ShouldReturnAthletes()
        {
            using (var context = provider.GetService <TimingSiteContext>())
                using (var controller = new HeadRaceTimingSite.Api.Controllers.AthleteController(mapper, context))
                {
                    Crew dbCrew = new Crew {
                        BroeCrewId = 1
                    };
                    dbCrew.Athletes.Add(new CrewAthlete {
                        Athlete = new Athlete {
                            MembershipNumber = "ABC123"
                        }
                    });
                    context.Crews.Add(dbCrew);
                    context.SaveChanges();

                    var result = await controller.ListByCrew(1).ConfigureAwait(false);

                    var okResult = result as OkObjectResult;

                    Assert.IsNotNull(okResult, "Should be Ok");
                    Assert.AreEqual(200, okResult.StatusCode);
                    List <HeadRaceTimingSite.Api.Resources.Athlete> athletes = okResult.Value as List <HeadRaceTimingSite.Api.Resources.Athlete>;
                    Assert.IsNotNull(athletes, "Should be List<Athlete>");
                    Assert.AreEqual(1, athletes.Count);
                    Assert.AreEqual("ABC123", athletes[0].MembershipNumber);
                }
        }
        public async Task ListByCrew_WithIncorrectId_ShouldReturn404()
        {
            using (var context = provider.GetService <TimingSiteContext>())
                using (var controller = new HeadRaceTimingSite.Api.Controllers.AthleteController(mapper, context))
                {
                    var result = await controller.ListByCrew(1).ConfigureAwait(false);

                    var notFoundResult = result as NotFoundResult;

                    Assert.IsNotNull(notFoundResult);
                    Assert.AreEqual(404, notFoundResult.StatusCode);
                }
        }