Ejemplo n.º 1
0
        public void GetStateWorkingDaysCount_InValidDates_MinValue_ShouldReturnBadRequest()
        {
            //Arrange
            var dateHelperServiceMock = new Mock <IDateHelperService>();
            var controller            = new DateCalculatorController(dateHelperServiceMock.Object);

            //Act
            IActionResult result           = controller.GetStateWorkingDaysCount(State.NSW, default(DateTime), default(DateTime));
            var           badRequestResult = result as BadRequestObjectResult;

            //Asset
            Assert.IsNotNull(badRequestResult);
            Assert.AreEqual(400, badRequestResult.StatusCode);
            Assert.AreEqual("From Date and To Date must be a valid date", badRequestResult.Value);
        }
Ejemplo n.º 2
0
        public void GetWorkingDaysCount_InValidDate_Range_ShouldReturnBadRequest()
        {
            //Arrange
            var dateHelperServiceMock = new Mock <IDateHelperService>();
            var controller            = new DateCalculatorController(dateHelperServiceMock.Object);
            var startDate             = new DateTime(2020, 2, 1);
            var endDate = new DateTime(2020, 1, 1);

            //Act
            IActionResult result           = controller.GetWorkingDaysCount(startDate, endDate);
            var           badRequestResult = result as BadRequestObjectResult;

            //Asset
            Assert.IsNotNull(badRequestResult);
            Assert.AreEqual(400, badRequestResult.StatusCode);
            Assert.AreEqual("To Date must be larger than From Date", badRequestResult.Value);
        }
Ejemplo n.º 3
0
        public void Calculation_WithEmptyVasluesInBoxes_DisplayMessage()
        {
            //arrange
            var dateCalculatorView   = MockRepository.GenerateMock <IDateCalculatorView>();
            var calculatorController = new DateCalculatorController(dateCalculatorView);

            dateCalculatorView.Expect(x => x.StartDay).Return("");
            dateCalculatorView.Expect(x => x.StartMonth).Return("");
            dateCalculatorView.Expect(x => x.StartYear).Return("");
            dateCalculatorView.Expect(x => x.EndDay).Return("");
            dateCalculatorView.Expect(x => x.EndMonth).Return("");
            dateCalculatorView.Expect(x => x.EndYear).Return("");
            //act
            calculatorController.Calculate();
            //assert
            dateCalculatorView.AssertWasCalled(x => x.DisplayCustomMessageInValidationSummary("Please Provide numeric values in boxes"));
        }
Ejemplo n.º 4
0
        public void Calculation_WithStartDateAfterEndDateDisplayMessage()
        {
            //arrange
            var dateCalculatorView   = MockRepository.GenerateMock <IDateCalculatorView>();
            var calculatorController = new DateCalculatorController(dateCalculatorView);

            dateCalculatorView.Expect(x => x.StartDay).Return("2");
            dateCalculatorView.Expect(x => x.StartMonth).Return("1");
            dateCalculatorView.Expect(x => x.StartYear).Return("2009");
            dateCalculatorView.Expect(x => x.EndDay).Return("1");
            dateCalculatorView.Expect(x => x.EndMonth).Return("1");
            dateCalculatorView.Expect(x => x.EndYear).Return("2009");
            //act
            calculatorController.Calculate();
            //assert
            dateCalculatorView.AssertWasCalled(x => x.DisplayCustomMessageInValidationSummary("Start date after end date. Dates were Switched"));
        }
Ejemplo n.º 5
0
        public void CalculationTest()
        {
            //arrange
            var dateCalculatorView   = MockRepository.GenerateMock <IDateCalculatorView>();
            var calculatorController = new DateCalculatorController(dateCalculatorView);

            dateCalculatorView.Expect(x => x.StartDay).Return("1");
            dateCalculatorView.Expect(x => x.StartMonth).Return("1");
            dateCalculatorView.Expect(x => x.StartYear).Return("2009");
            dateCalculatorView.Expect(x => x.EndDay).Return("2");
            dateCalculatorView.Expect(x => x.EndMonth).Return("1");
            dateCalculatorView.Expect(x => x.EndYear).Return("2009");
            //act
            calculatorController.Calculate();
            //assert
            dateCalculatorView.AssertWasCalled(x => x.Result = "1");
        }
Ejemplo n.º 6
0
        public void ClearTest()
        {
            //arrange

            var dateCalculatorView   = MockRepository.GenerateMock <IDateCalculatorView>();
            var calculatorController = new DateCalculatorController(dateCalculatorView);

            //act
            calculatorController.Clear();
            //assert
            dateCalculatorView.AssertWasCalled(x => x.EndDay     = "");
            dateCalculatorView.AssertWasCalled(x => x.EndMonth   = "");
            dateCalculatorView.AssertWasCalled(x => x.EndYear    = "");
            dateCalculatorView.AssertWasCalled(x => x.StartDay   = "");
            dateCalculatorView.AssertWasCalled(x => x.StartMonth = "");
            dateCalculatorView.AssertWasCalled(x => x.StartYear  = "");
        }
Ejemplo n.º 7
0
        public void GeStatetWorkingDaysCount_ValidDateRange_ShouldReturnValue()
        {
            //Arrange
            var dateHelperServiceMock = new Mock <IDateHelperService>();

            dateHelperServiceMock.Setup(r => r.CountWorkingDays(It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <State>())).Returns(2);

            var controller = new DateCalculatorController(dateHelperServiceMock.Object);

            var startDate = new DateTime(2020, 1, 5);
            var endDate   = new DateTime(2020, 1, 8);
            var state     = State.NSW;
            //Act
            IActionResult result   = controller.GetStateWorkingDaysCount(state, startDate, endDate);
            var           okResult = result as OkObjectResult;

            //Asset
            Assert.IsNotNull(okResult);
            Assert.AreEqual(200, okResult.StatusCode);
        }
Ejemplo n.º 8
0
 protected override void OnInit(EventArgs e)
 {
     base.OnInit(e);
     this.controller = new DateCalculatorController(this);
 }