public async void WhenAgeIsZero_MonthlyPremiumShouldBeZero()
        {
            //Arange
            var request = Fixture.Build <GetMonthlyPremiumQuery>()
                          .Without(p => p.Age)
                          .Create();
            var occupationRating = new OccupationRatingModel {
                OccupationId = 1, RatingId = 3
            };
            var occupationRatingRepositoryMock = Fixture.Freeze <Mock <IOccupationRatingRepository> >();

            occupationRatingRepositoryMock.Setup(f => f.GetOccupationRating(request.OccupationId))
            .Returns(occupationRating);
            var rating = new RatingModel {
                Id = 3, Factor = 1.5M
            };
            var ratingRepositoryMock = Fixture.Freeze <Mock <IRatingRepository> >();

            ratingRepositoryMock.Setup(f => f.GetRating(occupationRating.RatingId))
            .Returns(rating);
            var handler = new GetMonthlyPremiumQuery.Handler(occupationRatingRepositoryMock.Object, ratingRepositoryMock.Object);
            //Act
            var result = await
                         handler.Handle(request, CancellationToken);

            //Assert
            result.Amount.ShouldBe(0);
        }
        public async void WhenRatingDoesNotExist_MonthlyPremiumShouldBeZero()
        {
            //Arange
            var request          = Fixture.Build <GetMonthlyPremiumQuery>().Create();
            var occupationRating = new OccupationRatingModel {
                OccupationId = 1, RatingId = 3
            };
            var occupationRatingRepositoryMock = Fixture.Freeze <Mock <IOccupationRatingRepository> >();

            occupationRatingRepositoryMock.Setup(f => f.GetOccupationRating(request.OccupationId))
            .Returns(occupationRating);
            RatingModel rating = null;
            var         ratingRepositoryMock = Fixture.Freeze <Mock <IRatingRepository> >();

            ratingRepositoryMock.Setup(f => f.GetRating(It.IsAny <int>()))
            .Returns(rating);
            var handler = new GetMonthlyPremiumQuery.Handler(occupationRatingRepositoryMock.Object, ratingRepositoryMock.Object);
            //Act
            var result = await handler.Handle(request, CancellationToken);

            //Assert
            result.Amount.ShouldBe(0);
        }