Ejemplo n.º 1
0
        public async Task UpdateAsync_IncorrectHtml_ReturningException()
        {
            // Arrange
            var bannerId          = GetRandomIntId();
            var bannersRepository = new BannersRepository(_fixture.Options);

            // Act
            await bannersRepository.CreateAsync(new Banner { Id = bannerId, Html = "<html></html>" });

            // Assert
            await Assert.ThrowsAsync <ArgumentException>(() => bannersRepository.UpdateAsync(new Banner {
                Id = bannerId, Html = "<html></span>"
            }));

            await Assert.ThrowsAsync <ArgumentException>(() => bannersRepository.UpdateAsync(new Banner {
                Id = bannerId + 1, Html = "<html></span></html>"
            }));

            await Assert.ThrowsAsync <ArgumentException>(() => bannersRepository.UpdateAsync(new Banner {
                Id = bannerId + 2, Html = "<html></span><span></html>"
            }));
        }
Ejemplo n.º 2
0
        public async Task UpdateAsync_NonExistingBanner_ReturnsNull()
        {
            // Arrange
            var bannerId          = GetRandomIntId();
            var bannersRepository = new BannersRepository(_fixture.Options);
            var newBanner         = new Banner()
            {
                Id   = bannerId,
                Html = "<html></html>",
            };

            // Act
            await bannersRepository.UpdateAsync(newBanner);

            var banner = await bannersRepository.GetAsync(bannerId);

            // Assert
            Assert.Null(banner);
        }
Ejemplo n.º 3
0
        public async Task UpdateAsync_ExistingBanner_ReturnsTrue()
        {
            // Arrange
            var          bannerId          = GetRandomIntId();
            const string expectedHtml      = "<html></html>";
            var          bannersRepository = new BannersRepository(_fixture.Options);

            // Act
            var existingBanner = await bannersRepository.CreateAsync(new Banner { Id = bannerId, Html = string.Empty });

            await bannersRepository.UpdateAsync(new Banner { Id = bannerId, Html = expectedHtml });

            var changedBanner = await bannersRepository.GetAsync(bannerId);

            // Assert
            Assert.NotNull(changedBanner);
            Assert.Equal(existingBanner.Id, changedBanner.Id);
            Assert.NotEqual(existingBanner.Html, changedBanner.Html);
            Assert.Equal(changedBanner.Html, expectedHtml);
        }
Ejemplo n.º 4
0
        public async Task UpdateAsync_Always_SetsModified()
        {
            // Arrange
            var bannerId          = GetRandomIntId();
            var bannersRepository = new BannersRepository(_fixture.Options);
            var newBanner         = new Banner()
            {
                Id   = bannerId,
                Html = "<html></html>",
            };

            // Act
            var createdBanner = await bannersRepository.CreateAsync(newBanner);

            await bannersRepository.UpdateAsync(new Banner { Id = bannerId, Html = "<html></html>" });

            var changedBanner = await bannersRepository.GetAsync(bannerId);

            // Assert
            Assert.Null(createdBanner.Modified);
            Assert.NotNull(changedBanner.Modified);
        }
Ejemplo n.º 5
0
        public async Task UpdateAsync_Never_UpdatesCreated()
        {
            // Arrange
            var bannerId          = GetRandomIntId();
            var bannersRepository = new BannersRepository(_fixture.Options);
            var newBanner         = new Banner()
            {
                Id   = bannerId,
                Html = "<html></html>",
            };

            // Act
            await bannersRepository.CreateAsync(newBanner);

            var createdBanner = await bannersRepository.GetAsync(bannerId);

            await bannersRepository.UpdateAsync(new Banner { Id = bannerId, Html = "<html></html>" });

            var changedBanner = await bannersRepository.GetAsync(bannerId);

            // Assert
            Assert.Equal(createdBanner.Created, changedBanner.Created);
        }