Ejemplo n.º 1
0
        /// <summary>
        /// Gets Forecasts and Holidays in given month and year respectively
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="forecastMonth"></param>
        /// <param name="forecastYear"></param>
        /// <param name="holidayMonth"></param>
        /// <param name="holidayYear"></param>
        /// <returns></returns>
        public async Task <ForecastsByUserAndMonthResponse> GetByUserIdAndMonth(int userId, int forecastMonth, int forecastYear, int holidayMonth, int holidayYear)
        {
            var request = new ForecastsByUserAndMonthRequest
            {
                UserId        = userId,
                ForecastMonth = forecastMonth,
                ForecastYear  = forecastYear,
                HolidayMonth  = holidayMonth,
                HolidayYear   = holidayYear
            };

            var result = await TrySendAsync(request, () => string.Format("An error occured while getting forecastMonth for month {0} year {1}", forecastMonth, forecastYear));

            return(result);
        }
Ejemplo n.º 2
0
        public void Get_ExtractsFromForecastAndHolidayRepository()
        {
            // Arrange
            var fixture = InitializeFixture();

            fixture.Behaviors.Add(new OmitOnRecursionBehavior());

            var forecastMonthEntity = fixture.Create <Mock <ForecastMonth> >();

            forecastMonthEntity.SetupGet(x => x.Id).Returns(1234);
            forecastMonthEntity.CallBase = false;
            var forecastMonthRepoMock = FreezeMock <IForecastMonthRepository>();

            forecastMonthRepoMock.Setup(x => x.GetByUserAndMonth(10, 12, 2012)).Returns(forecastMonthEntity.Object);

            var holidayEntity   = fixture.Create <Holiday>();
            var holidayRepoMock = FreezeMock <IHolidayRepository>();

            holidayRepoMock.Setup(x => x.GetByMonth(1, 2013)).Returns(new List <Holiday> {
                holidayEntity
            });

            var sut = fixture.Create <ForecastsByUserAndMonthService>();

            // Act
            var request = new ForecastsByUserAndMonthRequest
            {
                UserId        = 10,
                ForecastMonth = 12,
                ForecastYear  = 2012,
                HolidayMonth  = 1,
                HolidayYear   = 2013
            };

            var result = (ForecastsByUserAndMonthResponse)sut.Post(request);

            // Assert
            forecastMonthRepoMock.VerifyAll();
            holidayRepoMock.VerifyAll();
            Assert.That(result.ForecastMonth.Id, Is.EqualTo(1234));
            Assert.That(result.Holidays.Single().Date, Is.EqualTo(holidayEntity.Date));
            Assert.That(result.Holidays.Single().Description, Is.EqualTo(holidayEntity.Description));
        }