public async Task Delete_TemplateDoesNotExists_ThrowException()
        {
            var id = Guid.Parse("cc846e51-132c-4a6a-bc96-c032491e383c");
            var templateServiceMock   = new Mock <ITemplateService>();
            var commandDispatcherMock = new Mock <ICommandDispatcher>();

            commandDispatcherMock.Setup(x => x.DispatchAsync <ICommand>(It.IsAny <ICommand>()))
            .Throws(new ServiceException(ErrorCodes.TemplateNotFound));

            var templatesController = new TemplatesController(commandDispatcherMock.Object, templateServiceMock.Object);

            var exception = await Assert.ThrowsAsync <ServiceException>(() => templatesController.Delete(id));

            exception.Code.Should().Be("template_not_found");
        }
Exemplo n.º 2
0
        public void TestInputShouldBeValidatedAndCleanedBeforeDeleting()
        {
            var storeService    = Substitute.For <IStoreService>();
            var templateService = Substitute.For <ITemplateService>();

            templateService.IsValid(Arg.Any <string>()).ReturnsForAnyArgs(true);
            templateService.Clean(Arg.Any <string>()).ReturnsForAnyArgs("");
            storeService.DeleteTemplate(Arg.Any <string>()).Returns(true);

            var controller = new TemplatesController(storeService, templateService);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            controller.Delete();

            Received.InOrder(() => {
                templateService.IsValid(Arg.Any <string>());
                templateService.Clean(Arg.Any <string>());
                storeService.DeleteTemplate(Arg.Any <string>());
            });
        }