public async Task GetByIdAsync_WithNonExistentId_ShouldReturnNull()
        {
            var context = BookStoreDbContextInMemoryFactory.InitializeContext();

            await SeedData(context);

            this.publisherService = new AdminPublisherService(context);

            AdminPublisherListingServiceModel actualData = await this.publisherService.GetByIdAsync(int.MinValue);

            Assert.True(actualData == null);
        }
        public async Task GetByIdAsync_WithExistentId_ShouldReturnCorrectResult()
        {
            var context = BookStoreDbContextInMemoryFactory.InitializeContext();

            await SeedData(context);

            this.publisherService = new AdminPublisherService(context);

            AdminPublisherListingServiceModel expectedData = context.Publishers.First().To <AdminPublisherListingServiceModel>();
            AdminPublisherListingServiceModel actualData   = await this.publisherService.GetByIdAsync(expectedData.Id);

            Assert.True(expectedData.Id == actualData.Id, "Id is not returned properly.");
            Assert.True(expectedData.Name == actualData.Name, "Name is not returned properly.");
        }
        public async Task EditAsync_ShouldEditCategory()
        {
            var context = BookStoreDbContextInMemoryFactory.InitializeContext();

            await SeedData(context);

            this.publisherService = new AdminPublisherService(context);

            AdminPublisherListingServiceModel expectedData = context.Publishers.First().To <AdminPublisherListingServiceModel>();

            expectedData.Name = "edited";

            await this.publisherService.EditAsync(expectedData.Id, expectedData.Name);

            AdminPublisherListingServiceModel actualData = context.Publishers.First().To <AdminPublisherListingServiceModel>();

            Assert.True(actualData.Name == expectedData.Name, "Name not edited properly.");
        }