示例#1
0
        public async Task Create_ShouldReturnCorrectResults()
        {
            string errorMessagePrefix = "PremiumService Create(PremiumServiceModel) method does not work properly.";

            var context = HealthInsDbContextInMemoryFactory.InitializeContext();

            this.premiumService = new PremiumService(context, new ContractService(context));
            await SeedData(context);

            PremiumServiceModel prem = new PremiumServiceModel()
            {
                Id              = 14,
                ContractId      = 2,
                OperationAmount = 100
            };

            var actualResults = await this.premiumService.Create(prem);

            var actualEntry = this.premiumService.GetById(14);
            var contract    = context.Contracts.SingleOrDefault(c => c.Id == actualEntry.ContractId);

            Assert.True(prem.ContractId == actualEntry.ContractId, errorMessagePrefix + " " + "Contract is not returned properly.");
            Assert.True(prem.OperationAmount == actualEntry.OperationAmount, errorMessagePrefix + " " + "Contract is not returned properly.");
            Assert.True(HealthIns.Data.Models.Financial.Enums.Status.Pending == actualEntry.Status, errorMessagePrefix + " " + "Contract is not returned properly.");
            Assert.True(DateTime.Parse("01/01/2020").ToShortDateString() == contract.NextBillingDueDate.ToShortDateString(), errorMessagePrefix + " " + "Contract NextBillingDueDate is not calculated properly.");
        }
        public void CalculatePremium_Should_Return_Premium_When_Input_Is_Valid(int age, string sumInsured, decimal factor)
        {
            _premiumService = new PremiumService();

            var premium = _premiumService.CalculatePremium(age, sumInsured, factor);

            Assert.IsNotNull(premium);
        }
        public void GetYears_Should_Return_Age_When_Dob_Is_Valid(string dob)
        {
            _premiumService = new PremiumService();

            var age = _premiumService.GetYears(dob);

            Assert.IsNotNull(age);
        }
 public PremiumController(ILogger <PremiumController> logger
                          , IPremiumService premiumService
                          , IOccupationService occupationService)
 {
     _logger            = logger;
     _premiumService    = premiumService;
     _occupationService = occupationService;
 }
示例#5
0
 public ContractController(IContractService contractService, IProductService productService, IPremiumService premiumService, IMoneyInService moneyInService, IClaimActivityService claimActivityService)
 {
     this.contractService      = contractService;
     this.productService       = productService;
     this.premiumService       = premiumService;
     this.moneyInService       = moneyInService;
     this.claimActivityService = claimActivityService;
 }
示例#6
0
        public async Task FindPremiumsByContractId_ShouldReturnCorrectResults()
        {
            string errorMessagePrefix = "PremiumService FindPremiumsByContractId(long id) method does not work properly.";

            var context = HealthInsDbContextInMemoryFactory.InitializeContext();

            this.premiumService = new PremiumService(context, new ContractService(context));
            await SeedData(context);

            var actualResults = this.premiumService.FindPremiumsByContractId(4);

            Assert.True(actualResults.Count() == 1, errorMessagePrefix + " " + "OperationAmount is not returned properly.");
        }
示例#7
0
        public async Task GetById_WithNotExistingPremium_ShouldReturnEmptyResults()
        {
            string errorMessagePrefix = "DistributorServiceModel GetById(long id) method does not work properly.";

            var context = HealthInsDbContextInMemoryFactory.InitializeContext();

            this.premiumService = new PremiumService(context, new ContractService(context));
            await SeedData(context);

            var actualResults = this.premiumService.GetById(5);

            Assert.True(actualResults == null, errorMessagePrefix);
        }
示例#8
0
        public async Task SimulatePremiumForContract_ShouldReturnCorrectResults(double amount)
        {
            string errorMessagePrefix = "PremiumService SimulatePremiumForContract(long id) method does not work properly.";

            var context = HealthInsDbContextInMemoryFactory.InitializeContext();

            this.premiumService = new PremiumService(context, new ContractService(context));
            await SeedData(context);

            var contract = context.Contracts.SingleOrDefault(c => c.Id == 2);

            contract.PremiumAmount = amount;
            await context.SaveChangesAsync();

            var actualResults = this.premiumService.SimulatePremiumForContract(2);

            Assert.True(amount == actualResults.OperationAmount, errorMessagePrefix + " " + "OperationAmount is not returned properly.");
            Assert.True(actualResults.StartDate.ToShortDateString() == DateTime.Parse("01/01/2019").ToShortDateString(), errorMessagePrefix + " " + "StartDate is not returned properly.");
            Assert.True(actualResults.EndDate.ToShortDateString() == DateTime.Parse("31/12/2019").ToShortDateString(), errorMessagePrefix + " " + "EndDate is not returned properly.");
        }
        public void CalculatePremium_Should_Throw_Exception_When_Input_Is_InValid(int age, string sumInsured, decimal factor)
        {
            _premiumService = new PremiumService();

            Assert.Throws <Exception>(() => _premiumService.CalculatePremium(age, sumInsured, factor));
        }
        public void GetYears_Should_Throw_Exception_When_Input_Is_Nll()
        {
            _premiumService = new PremiumService();

            Assert.Throws <ArgumentNullException>(() => _premiumService.GetYears(null));
        }
示例#11
0
 /// <summary>
 /// Premium api service controller constructor
 /// </summary>
 /// <param name="premiumService">Service object</param>
 /// <param name="mapper">Automapper object</param>
 public PremiumController(IPremiumService premiumService, IMapper mapper)
 {
     _premiumService = premiumService;
     _mapper         = mapper;
 }
示例#12
0
 public void SetUp()
 {
     _premiumService = new PremiumService();
 }
示例#13
0
 public CalculateController(IPremiumService service, IHostingEnvironment env)
 {
     this._premiumService = service;
     this.env             = env;
 }
 public HomeController(IPremiumService premiumService)
 {
     this.premiumService = premiumService;
 }
示例#15
0
 public PremiumController(IPremiumService premiumService, ILogger <PremiumController> logger)
 {
     _premiumService = premiumService;
     _logger         = logger;
 }
 public InsurancePremiumController(ILogger <InsurancePremiumController> logger, IPremiumService premiumService)
 {
     _logger         = logger;
     _premiumService = premiumService;
 }
示例#17
0
 public MoneyInController(IContractService contractService, IMoneyInService moneyInService, IPremiumService premiumService)
 {
     this.contractService = contractService;
     this.moneyInService  = moneyInService;
     this.premiumService  = premiumService;
 }
示例#18
0
 public PremiumApplication(IOccupationRepository occupationRepository, IPremiumService premiumService)
 {
     _occupationRepository = occupationRepository;
     _premiumService       = premiumService;
 }
 public void SetUp()
 {
     _occupationsRepository = Substitute.For <IOccupationsRepository>();
     _premiumService        = new PremiumService(_occupationsRepository);
 }
示例#20
0
 public PremiumController(IPremiumService premiumService, IContractService contractService)
 {
     this.premiumService  = premiumService;
     this.contractService = contractService;
 }