public async Task GetPublicationTitle()
        {
            var publicationId = Guid.NewGuid();

            var fileStorageService = new Mock <IFileStorageService>();

            fileStorageService
            .Setup(s =>
                   s.GetDeserialized <PublicationTitleViewModel>("publications/publication-a/publication.json")
                   )
            .ReturnsAsync(new PublicationTitleViewModel
            {
                Id    = publicationId,
                Title = "Test title"
            });

            var controller = new PublicationController(fileStorageService.Object);

            var publicationTitleViewModel = (await controller.GetPublicationTitle("publication-a")).Value;

            Assert.IsType <PublicationTitleViewModel>(publicationTitleViewModel);

            Assert.Equal(publicationId, publicationTitleViewModel.Id);
            Assert.Equal("Test title", publicationTitleViewModel.Title);
        }
        public async Task GetPublicationTitle_NotFound()
        {
            var fileStorageService = new Mock <IFileStorageService>();

            fileStorageService
            .Setup(s => s.GetDeserialized <PublicationTitleViewModel>(It.IsAny <string>()))
            .ReturnsAsync(new NotFoundResult());

            var controller = new PublicationController(fileStorageService.Object);
            var result     = await controller.GetPublicationTitle("missing-publication");

            Assert.IsType <NotFoundResult>(result.Result);
        }