public async Task Invalid_Command_ShouldThrow_ValidationException() { var command = new CreateCatalogProductCommand { CatalogId = (CatalogId)Guid.Empty, CatalogCategoryId = (CatalogCategoryId)Guid.Empty, ProductId = (ProductId)Guid.Empty, DisplayName = string.Empty }; await Should.ThrowAsync <ValidationException>(async() => await this._requestHandler.Handle(command, this.CancellationToken)); }
public async Task Create_CatalogProduct_Successfully() { var command = new CreateCatalogProductCommand { CatalogId = this._catalog.CatalogId, CatalogCategoryId = this._catalogCategory.CatalogCategoryId, ProductId = this._product.ProductId, DisplayName = this._product.Name }; await this._requestHandler.Handle(command, this.CancellationToken); this._mockDbContext.Verify(x => x.Update(this._catalog), Times.Once); }
public void Empty_Command_ShouldBe_Invalid() { var command = new CreateCatalogProductCommand { CatalogId = CatalogId.Empty, CatalogCategoryId = CatalogCategoryId.Empty, ProductId = ProductId.Empty, DisplayName = string.Empty }; var result = this._validator.TestValidate(command); result.ShouldHaveValidationErrorFor(x => x.CatalogId); result.ShouldHaveValidationErrorFor(x => x.ProductId); result.ShouldHaveValidationErrorFor(x => x.DisplayName); }
public void Product_NotFound_ShouldBe_Invalid() { var command = new CreateCatalogProductCommand { CatalogId = this._catalog.CatalogId, CatalogCategoryId = this._catalogCategory.CatalogCategoryId, ProductId = IdentityFactory.Create <ProductId>(), DisplayName = this._product.Name }; var result = this._validator.TestValidate(command); result.ShouldHaveValidationErrorFor(x => x.ProductId); result.ShouldNotHaveValidationErrorFor(x => x.CatalogId); result.ShouldNotHaveValidationErrorFor(x => x.CatalogCategoryId); result.ShouldNotHaveValidationErrorFor(x => x.DisplayName); }
public void Catalog_NotFound_ShouldBe_Invalid() { var command = new CreateCatalogProductCommand { CatalogId = CatalogId.New, CatalogCategoryId = CatalogCategoryId.New, ProductId = this._product.Id, DisplayName = this._product.Name }; var result = this._validator.TestValidate(command); result.ShouldHaveValidationErrorFor(x => x.CatalogId); result.ShouldNotHaveValidationErrorFor(x => x.CatalogCategoryId); result.ShouldNotHaveValidationErrorFor(x => x.ProductId); result.ShouldNotHaveValidationErrorFor(x => x.DisplayName); }
public void Duplicate_Product_ShouldBe_Invalid() { var catalogProduct = this._catalogCategory.CreateCatalogProduct(this._product.ProductId, this._product.Name); var command = new CreateCatalogProductCommand { CatalogId = this._catalog.CatalogId, CatalogCategoryId = this._catalogCategory.CatalogCategoryId, ProductId = this._product.ProductId, DisplayName = this._product.Name }; var result = this._validator.TestValidate(command); result.ShouldHaveValidationErrorFor(x => x.ProductId); result.ShouldNotHaveValidationErrorFor(x => x.CatalogId); result.ShouldNotHaveValidationErrorFor(x => x.CatalogCategoryId); result.ShouldNotHaveValidationErrorFor(x => x.DisplayName); }