public async void ShouldGetRecipeByIdCorrectly() { // "447EA0EF-F828-486A-91A9-0EDBC01D0B89" - sample existing recipe var query = new GetRecipeById(new Guid("447EA0EF-F828-486A-91A9-0EDBC01D0B89"), false); var handler = new GetRecipeByIdHandler(MockBuilder.BuildFakeRepository()); var actual = await handler.Handle(query, CancellationToken.None); var expected = new Recipe { Id = new Guid("447EA0EF-F828-486A-91A9-0EDBC01D0B89"), Metadata = new Metadata { Version = 0, Removed = false, Creation = new Creation { AuthorId = "9E09950B-47DE-4BAB-AA79-C29414312ECB", Published = new DateTime(2010, 1, 1) }, Updates = new Update[0] }, Name = "sample-name", Description = "sample-description", PictureUrl = "https://example.com/sample-image.png", Calories = 1234, MealTypes = new[] { MealType.Snack }, Steps = new[] { "1. Sample first step.", "2. Sample second step." }, Ingredients = new[] { "Sample first ingredient", "Sample second ingredient" } }; actual.Should().BeEquivalentTo(expected); }
public async void DoesValidatorPreventFromDeletingNotExistingRecipe() { var request = new DeleteRecipe(new Guid("E9AFD20D-C83C-493B-827B-2220433E4D5E")); var validator = new DeleteRecipeValidator(MockBuilder.BuildFakeRepository(), MockBuilder.BuildFakeCurrentUserService()); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeFalse(); }
public async void DoesValidatorAllowCorrectRequest() { var request = new DeleteRecipe(new Guid("447EA0EF-F828-486A-91A9-0EDBC01D0B89")); var validator = new DeleteRecipeValidator(MockBuilder.BuildFakeRepository(), MockBuilder.BuildFakeCurrentUserService()); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeTrue(); }
public async void DoesValidatorPreventFromRequestWithEmptyId() { var request = new RestoreRecipe(); var validator = new RestoreRecipeValidator(MockBuilder.BuildFakeRepository()); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeFalse(); }
public async void DoesValidatorPreventRequestWithNonExistentRecipe() { // "D8B765B2-D11B-46E8-8142-E7A9BFBA7286" - sample non existent recipe var query = new GetRecipeById(new Guid("D8B765B2-D11B-46E8-8142-E7A9BFBA7286")); var validator = new GetRecipeByIdValidator(MockBuilder.BuildFakeRepository()); var result = await validator.ValidateAsync(query); result.IsValid.Should().BeFalse(); }
public async void DoesValidatorAllowCorrectRequest() { // "447EA0EF-F828-486A-91A9-0EDBC01D0B89" - sample existing recipe var query = new GetRecipeById(new Guid("447EA0EF-F828-486A-91A9-0EDBC01D0B89")); var validator = new GetRecipeByIdValidator(MockBuilder.BuildFakeRepository()); var result = await validator.ValidateAsync(query); result.IsValid.Should().BeTrue(); }
public async void ShouldReturnUserRecipesCorrectly() { var query = new GetUserRecipes("9E09950B-47DE-4BAB-AA79-C29414312ECB"); var handler = new GetUserRecipesHandler(MockBuilder.BuildFakeRepository()); var result = await handler.Handle(query, CancellationToken.None); result.Should().HaveCount(2) .And.ContainSingle(x => x.Id == new Guid("447EA0EF-F828-486A-91A9-0EDBC01D0B89")) .And.ContainSingle(x => x.Id == new Guid("B8DBCACE-35A9-4D48-8A71-827E37D782A8")); }
public async void DoesValidatorPreventFromRequestWithExistingId() { var request = new RestoreRecipe { EntityId = new Guid("447EA0EF-F828-486A-91A9-0EDBC01D0B89") }; var validator = new RestoreRecipeValidator(MockBuilder.BuildFakeRepository()); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeFalse(); }
public async void DoesValidatorAllowCorrectRequest() { var request = new RestoreRecipe { EntityId = new Guid("0F04E4D4-F9B8-45E8-8661-496730E8B455") }; var validator = new RestoreRecipeValidator(MockBuilder.BuildFakeRepository()); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeTrue(); }
public async void DoesValidatorPreventFromUpdatingRecipeWithoutSteps() { var request = new UpdateRecipe { EntityId = new Guid("447EA0EF-F828-486A-91A9-0EDBC01D0B89"), Name = "sample-name", Description = "sample-description", PictureUrl = "https://example.com/sample-image.png", Calories = 1234, MealTypes = new[] { MealType.Snack } }; var validator = new UpdateRecipeValidator(MockBuilder.BuildFakeRepository(), MockBuilder.BuildFakeCurrentUserService()); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeFalse(); }
public async void DoesValidatorPreventFromUpdatingRecipeWithNoDescription() { var request = new UpdateRecipe { EntityId = new Guid("447EA0EF-F828-486A-91A9-0EDBC01D0B89"), Name = "sample-name", Description = string.Empty, PictureUrl = "https://example.com/sample-image.png", Calories = 1234, MealTypes = new[] { MealType.Snack }, Steps = new[] { "1. Sample first step.", "2. Sample second step." }, Ingredients = new[] { "Sample first ingredient", "Sample second ingredient" } }; var validator = new UpdateRecipeValidator(MockBuilder.BuildFakeRepository(), MockBuilder.BuildFakeCurrentUserService()); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeFalse(); }
public async void DoesValidatorPreventFromUpdatingNotExistingRecipe() { var request = new UpdateRecipe { EntityId = new Guid("1FED1A46-D5FF-4259-B838-08CA7C95F264"), Name = "sample-name", Description = "sample-description", PictureUrl = "https://example.com/sample-image.png", Calories = 1234, MealTypes = new[] { MealType.Snack }, Steps = new[] { "1. Sample first step.", "2. Sample second step." }, Ingredients = new[] { "Sample first ingredient", "Sample second ingredient" } }; var validator = new UpdateRecipeValidator(MockBuilder.BuildFakeRepository(), MockBuilder.BuildFakeCurrentUserService()); var result = await validator.ValidateAsync(request); result.IsValid.Should().BeFalse(); }
public async void ShouldGetRecipeByIdWithoutMetadataCorrectly() { // "447EA0EF-F828-486A-91A9-0EDBC01D0B89" - sample existing recipe var query = new GetRecipeById(new Guid("447EA0EF-F828-486A-91A9-0EDBC01D0B89")); var handler = new GetRecipeByIdHandler(MockBuilder.BuildFakeRepository()); var actual = await handler.Handle(query, CancellationToken.None); var expected = new Recipe { Id = new Guid("447EA0EF-F828-486A-91A9-0EDBC01D0B89"), Metadata = null, Name = "sample-name", Description = "sample-description", PictureUrl = "https://example.com/sample-image.png", Calories = 1234, MealTypes = new[] { MealType.Snack }, Steps = new[] { "1. Sample first step.", "2. Sample second step." }, Ingredients = new[] { "Sample first ingredient", "Sample second ingredient" } }; actual.Should().BeEquivalentTo(expected); }
public async void ShouldGetAllRecipesCorrectly() { var handler = new GetRecipesHandler(MockBuilder.BuildFakeRepository()); var result = await handler.Handle(new GetRecipes(), CancellationToken.None); var expected = new[] { new Recipe { Id = new Guid("447EA0EF-F828-486A-91A9-0EDBC01D0B89"), Metadata = null, Name = "sample-name", Description = "sample-description", PictureUrl = "https://example.com/sample-image.png", Calories = 1234, MealTypes = new[] { MealType.Snack }, Steps = new[] { "1. Sample first step.", "2. Sample second step." }, Ingredients = new[] { "Sample first ingredient", "Sample second ingredient" } }, new Recipe { Id = new Guid("B8DBCACE-35A9-4D48-8A71-827E37D782A8"), Metadata = null, Name = "sample-name-2", Description = "sample-description-2", PictureUrl = "https://example.com/sample-image-2.png", Calories = 4321, MealTypes = new[] { MealType.Lunch }, Steps = new[] { "1. Sample first step.", "2. Sample second step." }, Ingredients = new[] { "Sample first ingredient", "Sample second ingredient" } }, }; result.Should().BeEquivalentTo(expected); }