public void CalculatePremiumTest()
        {
            MemberViewModel objMemberViewModel = new MemberViewModel
            {
                Name        = "TestName",
                Age         = 20,
                DateOfBirth = DateTime.Now,
                Occupation  = "Doctor",
                SumInsured  = 200000
            };

            decimal expectedOccupationratingfactor = 1.5m;

            decimal expectedPremium = (objMemberViewModel.SumInsured * expectedOccupationratingfactor * objMemberViewModel.Age) / 1000 * 12;


            // Arrange
            mocWrapper.Expect(x => x.CalculatePremium(null)).IgnoreArguments().Return(Task.FromResult(expectedPremium)).Repeat.Any();


            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap <MemberViewModel, MemberModel>();
            });

            // Act
            var objPremiumController = new PremiumController(mocWrapper, mocLogger);
            var result = objPremiumController.Premium(objMemberViewModel);

            // Assert
            var actualPremium = ((MemberViewModel)((ViewResultBase)result).Model).Premium;

            Assert.AreEqual(expectedPremium, actualPremium);
            mocWrapper.VerifyAllExpectations();
        }
 public PremiumControllerTest(TestFixture <Startup> fixture)
 {
     _testFixture          = fixture;
     _appDBContext         = _testFixture.CreateDbContext();
     _occupationRepository = new OccupationRepository(_appDBContext);
     _occupationService    = new OccupationService(_occupationRepository);
     _calculatorService    = new CalculatorService(_occupationService);
     _premiumController    = new(_logger, _calculatorService);
 }
Пример #3
0
        public void Setup()
        {
            fixture        = new Fixture();
            premiumService = new Mock <IPremiumService>();

            var config = new MapperConfiguration(opts =>
            {
                opts.AddProfile <PremiumApiProfile>();
            });
            var mapper = config.CreateMapper();

            premiumController = new PremiumController(premiumService.Object, mapper);
        }
        public void post_withValidAge_ReturnsPremium()
        {
            //Arrange
            _ageCalculator = new Mock <IAgeCalculator>();

            _ageCalculator.Setup(y => y.CalcAge(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(36);

            _premiumController = new PremiumController(_premiumCalculator.Object, _ageCalculator.Object, _logger.Object, _appConfig);

            //Act
            _customerModel = TestHelper.GetCustomer("dheeraj", "male", new DateTime(1981, 10, 16));
            var resultObject = _premiumController.Post(_customerModel);
            var okResult     = resultObject as OkObjectResult;

            //Assert
            Assert.IsNotNull(okResult);
            Assert.IsTrue(okResult.Value.ToString().ToLower() == "dheeraj, your premium amount is 4320.");
        }
        public void GetOccupationsTest()
        {
            List <string> expectedOccupations = new List <string>()
            {
                "Florist", "Mechanic", "Farmer"
            };

            // Arrange
            mocWrapper.Expect(x => x.GetOccupations()).IgnoreArguments().Return(Task.FromResult(expectedOccupations)).Repeat.Any();

            // Act
            var objPremiumController = new PremiumController(mocWrapper, mocLogger);
            var result = objPremiumController.Premium(new MemberModel());

            // Assert
            Assert.AreEqual(expectedOccupations.Count, ((MemberViewModel)((ViewResultBase)result).Model).OccupationList.Count);
            mocWrapper.VerifyAllExpectations();
        }
        public void post_withInValidAge_ReturnsWarningMessage()
        {
            //Arrange

            _ageCalculator = new Mock <IAgeCalculator>();

            _ageCalculator.Setup(y => y.CalcAge(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(10);

            _premiumController = new PremiumController(_premiumCalculator.Object, _ageCalculator.Object, _logger.Object, _appConfig);

            //Act
            _customerModel = TestHelper.GetCustomer("dheeraj", "male", new DateTime(2008, 10, 16));
            var resultObject = _premiumController.Post(_customerModel);
            var okResult     = resultObject as OkObjectResult;

            //Assert
            Assert.IsNotNull(okResult);
            Assert.IsTrue(okResult.Value.ToString().ToLower() == "sorry dheeraj, we offer our services to person aged b/w 18 and 65.");
        }
        public void CalculatePremiumTest()
        {
            MemberModel objMemberModel = new MemberModel
            {
                Name        = "TestName",
                Age         = 20,
                DateOfBirth = DateTime.Now,
                Occupation  = "Doctor",
                SumInsured  = 200000
            };

            decimal expectedOccupationratingfactor = 1.5m;
            decimal expectedPremium = (objMemberModel.SumInsured * expectedOccupationratingfactor * objMemberModel.Age) / 1000 * 12;


            // Arrange
            var mockManager = MockRepository.GenerateMock <IOccupationRepository>();

            mockManager.Expect(x => x.GetOccupationRatingFactor(null)).IgnoreArguments().Return(expectedOccupationratingfactor).Repeat.Any();

            // Act
            var objPremiumController = new PremiumController(mockManager)
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration()
            };

            objPremiumController.Request = new HttpRequestMessage();
            var result = objPremiumController.CalculatePremium(objMemberModel);

            // Assert
            Assert.AreEqual("OK", result.StatusCode.ToString());
            var actualPremium = JsonConvert.DeserializeObject <decimal>(result.Content.ReadAsStringAsync().Result);

            Assert.AreEqual(expectedPremium, actualPremium);
            mockManager.VerifyAllExpectations();
        }
Пример #8
0
 public void TestSetup()
 {
     _controller = new PremiumController(_loggerMock.Object);
 }
 public PremiumControllerTest()
 {
     _mockCalculatorService = new Mock <ICalculatorService>();
     _sutController         = new PremiumController(_logger, _mockCalculatorService.Object);
 }
Пример #10
0
 public void SetUp()
 {
     service   = Substitute.For <IPremiumCalculationService>();
     validator = Substitute.For <IValidator <LifePremiumModel> >();
     sut       = new PremiumController(service, validator);
 }