public async Task GivenProductServiceWhenEditWithProductFoundThenProductIsUpdated() { Product productDb = FakeBuilder.GetProductFake(); ProductViewModel productModel = FakeBuilder.GetProductViewModelFake(5); this.mockProductRepository.Setup(mock => mock.Get(It.IsAny <int>())) .ReturnsAsync(productDb); productDb.Name.Should().NotBe(productModel.Name); productDb.Description.Should().NotBe(productModel.Description); productDb.Family.Type.Should().NotBe(productModel.Type); productDb.Family.Subtype.Should().NotBe(productModel.Subtype); productDb.Availability.Start.Should().NotBeSameDateAs(productModel.Start); productDb.Availability.End.Should().NotBeSameDateAs(productModel.End); await this.productService.Edit(productModel); productDb.Name.Should().Be(productModel.Name); productDb.Description.Should().Be(productModel.Description); productDb.Family.Type.Should().Be(productModel.Type); productDb.Family.Subtype.Should().Be(productModel.Subtype); productDb.Availability.Start.Should().BeSameDateAs(productModel.Start); productDb.Availability.End.Should().BeSameDateAs(productModel.End); this.mockProductRepository.Verify(mock => mock.Save(It.IsAny <Product>()), Times.Once); }
public async Task GivenProductServiceWhenCreateWithDataValidThenCreateNewProduct() { ProductViewModel model = FakeBuilder.GetProductViewModelFake(0); this.mockUserManager.Setup(mock => mock.FindUserDomain(It.IsAny <ClaimsPrincipal>())) .Returns(Task.FromResult(new User(Guid.NewGuid().ToString()))); await this.productService.Create(new ClaimsPrincipal(), model); this.mockProductRepository.Verify(mock => mock.Save(It.IsAny <Product>()), Times.Once); Assert.True(true); }