public async Task Then_The_Available_Dates_Service_Is_Called_And_Dates_Returned(
            GetAvailableDatesQuery query,
            [Frozen] ValidationResult validationResult,
            AccountLegalEntity accountLegalEntity,
            List <AvailableDateStartWindow> availableDateStartWindows,
            [Frozen] Mock <IAccountLegalEntitiesService> mockAleService,
            [Frozen] Mock <IAvailableDatesService> mockDatesService,
            GetAvailableDatesQueryHandler handler)
        {
            //Arrange
            validationResult.ValidationDictionary.Clear();
            mockAleService
            .Setup(service => service.GetAccountLegalEntity(query.AccountLegalEntityId))
            .ReturnsAsync(accountLegalEntity);
            mockDatesService
            .Setup(x => x.GetAvailableDates())
            .Returns(availableDateStartWindows);

            //Act
            var actual = await handler.Handle(query, CancellationToken.None);

            //Assert
            Assert.IsAssignableFrom <GetAvailableDatesResult>(actual);
            Assert.AreSame(availableDateStartWindows, actual.AvailableDates);
        }
Beispiel #2
0
        public void Arrange()
        {
            var fixture = new Fixture();

            _query = fixture.Create <GetAvailableDatesQuery>();
            _expectedApiResponse = fixture.Create <GetAvailableDatesApiResponse>();

            _service = new Mock <IFundingRulesService>();
            _service
            .Setup(s => s.GetAvailableDates(_query.AccountLegalEntityId))
            .ReturnsAsync(_expectedApiResponse);

            _handler = new GetAvailableDatesQueryHandler(_service.Object);
        }
        public void And_Query_Invalid_Then_Throws_InvalidArgumentException(
            GetAvailableDatesQuery query,
            ValidationResult validationResult,
            string propertyName,
            List <AvailableDateStartWindow> availableDateStartWindows,
            [Frozen] Mock <IValidator <GetAvailableDatesQuery> > mockValidator,
            [Frozen] Mock <IAccountLegalEntitiesService> mockAleService,
            [Frozen] Mock <IAvailableDatesService> mockDatesService,
            GetAvailableDatesQueryHandler handler)
        {
            validationResult.AddError(propertyName);
            mockValidator
            .Setup(validator => validator.ValidateAsync(query))
            .ReturnsAsync(validationResult);

            var act = new Func <Task>(async() => await handler.Handle(query, CancellationToken.None));

            act.Should().Throw <ArgumentException>()
            .WithMessage("The following parameters have failed validation*")
            .Which.ParamName.Should().Contain(propertyName);
        }
Beispiel #4
0
 public GetAvailableDatesQueryHandlerTests(GetAvailableDatesQueryDataSetup data)
 {
     this.sut  = new GetAvailableDatesQueryHandler(data.Context);
     this.data = data;
 }