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); }
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(); }