Пример #1
0
        public async Task UpdatePublisherAsync_WithTakenName_ReturnsFalse()
        {
            // Arrange
            var context = this.NewInMemoryDatabase();

            const string testName = "NewName";

            var publisherToAdd = new Publisher
            {
                Name        = "TestName",
                Description = "TestDescription",
                ImageUrl    = "http://www.test.com",
            };

            var otherPublisher = new Publisher
            {
                Name        = testName.ToUpper(),
                Description = "TestDescription",
                ImageUrl    = "http://www.test.com",
            };

            await context.Publishers.AddRangeAsync(publisherToAdd, otherPublisher);

            await context.SaveChangesAsync();

            var publishersService = new PublishersService(context);

            var model = new PublisherEditServiceModel
            {
                Id          = publisherToAdd.Id,
                Name        = testName,
                Description = "NewDescription",
                ImageUrl    = "https://newurl.com/pic.jpg"
            };

            // Act
            var result = await publishersService.UpdatePublisherAsync(model);

            // Assert
            Assert.False(result);

            var updatedPublisher = await context.Publishers.SingleOrDefaultAsync(p => p.Id == publisherToAdd.Id);

            Assert.NotNull(updatedPublisher);
            Assert.Equal(publisherToAdd.Name, updatedPublisher.Name);
        }
Пример #2
0
        public async Task UpdatePublisherAsync_WithSameName_WorksCorrectly()
        {
            // Arrange
            var context = this.NewInMemoryDatabase();

            var publisherToAdd = new Publisher
            {
                Name        = "TestName",
                Description = "TestDescription",
                ImageUrl    = "http://www.test.com",
            };

            await context.Publishers.AddAsync(publisherToAdd);

            await context.SaveChangesAsync();

            var publishersService = new PublishersService(context);

            var model = new PublisherEditServiceModel
            {
                Id          = publisherToAdd.Id,
                Name        = "testname",
                Description = "NewDescription",
                ImageUrl    = "https://newurl.com/pic.jpg"
            };

            // Act
            var result = await publishersService.UpdatePublisherAsync(model);

            // Assert
            Assert.True(result);

            var updatedPublisher = await context.Publishers.SingleOrDefaultAsync(p => p.Id == publisherToAdd.Id);

            Assert.NotNull(updatedPublisher);
            Assert.Equal(model.Name, updatedPublisher.Name);
            Assert.Equal(model.Description, updatedPublisher.Description);
            Assert.Equal(model.ImageUrl, updatedPublisher.ImageUrl);
        }