public async void CreatePublication_ValidationFailure() { var publicationService = new Mock <IPublicationService>(); var validationResponse = new Either <ActionResult, PublicationViewModel>( ValidationUtils.ValidationActionResult(ValidationErrorMessages.SlugNotUnique)); publicationService .Setup(s => s.CreatePublication(It.IsAny <SavePublicationViewModel>())) .Returns <SavePublicationViewModel>(p => Task.FromResult(validationResponse)); var controller = new PublicationController(publicationService.Object); var topicId = Guid.NewGuid(); // Method under test var result = await controller.CreatePublication(new SavePublicationViewModel() { TopicId = topicId }); var badRequestObjectResult = Assert.IsType <BadRequestObjectResult>(result.Result); var value = Assert.IsType <ValidationProblemDetails>(badRequestObjectResult.Value); Assert.Contains("SLUG_NOT_UNIQUE", value.Errors.First().Value); }
public async void CreatePublication_Ok() { var publicationService = new Mock <IPublicationService>(); publicationService .Setup(s => s.CreatePublication(It.IsAny <SavePublicationViewModel>())) .Returns <SavePublicationViewModel>(p => Task.FromResult(new Either <ActionResult, PublicationViewModel>( new PublicationViewModel { TopicId = p.TopicId }) ) ); var controller = new PublicationController(publicationService.Object); var topicId = Guid.NewGuid(); // Method under test var result = await controller.CreatePublication(new SavePublicationViewModel() { TopicId = topicId }); Assert.IsType <PublicationViewModel>(result.Value); Assert.Equal(topicId, result.Value.TopicId); }
public void CreatePublication_WhenCreatedCorrectly_ReturnsCreatedResult() { var publication = new PublicationInputModel() { EditorFirstName = "Egill", EditorLastName = "Joh", Title = "Gillis pub", Journal = "World scientific", Isbn = "123456-1234", Year = 2019, Type = "electronic" }; var createdResult = _controller.CreatePublication(publication); var result = Assert.IsType <CreatedAtRouteResult>(createdResult); Assert.Equal(201, result.StatusCode); }
public async Task CreatePublication_ValidationFailure() { var publicationService = new Mock <IPublicationService>(); var validationResponse = new Either <ActionResult, PublicationViewModel>( ValidationUtils.ValidationActionResult(SlugNotUnique)); publicationService .Setup(s => s.CreatePublication(It.IsAny <PublicationSaveViewModel>())) .Returns <PublicationSaveViewModel>(p => Task.FromResult(validationResponse)); var controller = new PublicationController(publicationService.Object); var topicId = Guid.NewGuid(); // Method under test var result = await controller.CreatePublication(new PublicationSaveViewModel() { TopicId = topicId }); result.Result.AssertBadRequest(SlugNotUnique); }