public void GetCampaignInfo_Should_Not_Validated_When_CampaignName_Is_NullOrEmpty(string campaignName)
        {
            var getCampaignInfo = new GetCampaignInfoQuery {
                CampaignName = campaignName
            };
            var validator        = new GetCampaignInfoValidator();
            var validationResult = validator.Validate(getCampaignInfo);

            validationResult.Errors.Any(x => x.PropertyName == nameof(getCampaignInfo.CampaignName)).Should().Be(true);
        }
        public void GetCampaignInfo_Should_Not_Validated_When_Product_Code_Length_Is_GreaterThan_3(string campaignName)
        {
            var getCampaignInfo = new GetCampaignInfoQuery()
            {
                CampaignName = campaignName
            };
            var validator        = new GetCampaignInfoValidator();
            var validationResult = validator.Validate(getCampaignInfo);

            validationResult.Errors.Any(x => x.PropertyName == nameof(getCampaignInfo.CampaignName)).Should().Be(true);
        }
示例#3
0
        public void GetCampaignInfo_Should_Throw_Exception_When_Campaign_DoesNot_Exists()
        {
            _campaignRepositoryMock.Setup(x => x.FindOneAsync(It.IsAny <Expression <Func <CampaignEntity, bool> > >()))
            .ReturnsAsync(default(CampaignEntity));

            Assert.ThrowsAsync <CampaignNotFoundException>(async() =>
            {
                var query = new GetCampaignInfoQuery
                {
                    CampaignName = FakeObjects.Instance.Random.AlphaNumeric(3)
                };

                await _handler.Handle(query, CancellationToken.None);
            }).Wait();
        }
        public override async Task <string> Process()
        {
            var query = new GetCampaignInfoQuery
            {
                CampaignName = _parameters[1]
            };

            var result = await _mediator.Send(query);

            return($"Campaign {result.Name} info;" +
                   $" Status {(result.IsActive ? "Active" : "Ended")}," +
                   $" Target Sales {result.TargetSales}," +
                   $"Total Sales {result.TotalSales}," +
                   $" Turnover {result.Turnover}," +
                   $" Average Item Price {result.AverageItemPrice} \r\n");
        }
示例#5
0
        public void GetCampaignInfo_Should_Run_Correctly()
        {
            var campaign = FakeObjects.GenerateCampaign();

            _campaignRepositoryMock.Setup(x => x.FindOneAsync(It.IsAny <Expression <Func <CampaignEntity, bool> > >()))
            .ReturnsAsync(campaign);

            var query = new GetCampaignInfoQuery
            {
                CampaignName = campaign.Name
            };

            var result = _handler.Handle(query, CancellationToken.None).Result;

            _campaignRepositoryMock.Verify(x => x.FindOneAsync(It.IsAny <Expression <Func <CampaignEntity, bool> > >()), Times.Once);

            result.Should().NotBeNull();
            result.Name.Should().Be(campaign.Name);
            result.TargetSales.Should().Be(campaign.TargetSalesCount);
            result.TotalSales.Should().Be(campaign.TotalSalesCount);
            result.AverageItemPrice.Should().Be(campaign.AverageItemPrice);
            result.IsActive.Should().Be(true);
        }