Пример #1
0
        public void CreateCampaign_Command_Should_Run_Correctly()
        {
            var command = _createCampaignCommandFaker.Generate();

            _productRepositoryMock.Setup(x => x.AnyAsync(It.IsAny <Expression <Func <ProductEntity, bool> > >()))
            .ReturnsAsync(true);

            _campaignRepositoryMock.Setup(x => x.FindAsync(It.IsAny <Expression <Func <CampaignEntity, bool> > >()))
            .ReturnsAsync(new List <CampaignEntity>());

            _campaignRepositoryMock.Setup(x => x.AnyAsync(MoqHelper.IsExpression <CampaignEntity>(campaign => campaign.Name == command.CampaignName)))
            .ReturnsAsync(false);

            _campaignRepositoryMock.Setup(x => x.AddAsync(It.IsAny <CampaignEntity>()))
            .ReturnsAsync(FakeObjects.GenerateCampaign());

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

            result.Campaign.Should().NotBeNull();

            _productRepositoryMock.Verify(x => x.AnyAsync(It.IsAny <Expression <Func <ProductEntity, bool> > >()), Times.Once);
            _campaignRepositoryMock.Verify(x => x.FindAsync(It.IsAny <Expression <Func <CampaignEntity, bool> > >()), Times.Once);
            _campaignRepositoryMock.Verify(x => x.AnyAsync(It.IsAny <Expression <Func <CampaignEntity, bool> > >()), Times.Once);
            _campaignRepositoryMock.Verify(x => x.AddAsync(It.IsAny <CampaignEntity>()), Times.Once);
        }
Пример #2
0
        public void CreateCampaign_Command_ShouldBe_Throw_Exception_When_There_Is_Campaign_With_SameName()
        {
            _productRepositoryMock.Setup(x => x.AnyAsync(It.IsAny <Expression <Func <ProductEntity, bool> > >()))
            .ReturnsAsync(true);

            var command = _createCampaignCommandFaker.Generate();

            _campaignRepositoryMock.Setup(x => x.AnyAsync(MoqHelper.IsExpression <CampaignEntity>(campaign => campaign.Name == command.CampaignName)))
            .ReturnsAsync(true);

            Assert.ThrowsAsync <CampaignAlreadyExistsException>(async() =>
            {
                await _handler.Handle(command, CancellationToken.None);
            }).Wait();
        }