Example #1
0
        public void WhenConstructingTheRepository_ItWill_BeCreated()
        {
            sut = new TrilligRepository(_db);

            Assert.NotNull(sut);
            Assert.IsAssignableFrom <IKeyedRepository <Trillig, int> >(sut);
        }
Example #2
0
        public async Task CheckingExistenceOfMultiples_WillReturnFalse_WhenAnyNotExist(int id1, int id2, int id3)
        {
            await _db.Database.EnsureCreatedAsync();

            // Arrange
            sut = new TrilligRepository(_db);

            // Act
            bool result = await sut.Exists(id1, id2, id3);

            // Assert
            Assert.False(result);
            await _db.Database.EnsureDeletedAsync();
        }
Example #3
0
        public async Task CheckingExistence_WillReturnTrue_WhenExists(int id)
        {
            await _db.Database.EnsureCreatedAsync();

            // Arrange
            sut = new TrilligRepository(_db);

            // Act
            bool result = await sut.Exists(id);

            // Assert
            Assert.True(result);
            await _db.Database.EnsureDeletedAsync();
        }
Example #4
0
        public async Task GetAsync_WillReturnNull_WhenNotExists(int id)
        {
            await _db.Database.EnsureCreatedAsync();

            // Arrange
            sut = new TrilligRepository(_db);

            // Act
            Trillig result = await sut.GetAsync(id);

            // Assert
            Assert.Null(result);

            await _db.Database.EnsureDeletedAsync();
        }
Example #5
0
        public async Task GetAsyncMultiple_WillReturnAllMatchingEntities(int id1, int id2, int id3)
        {
            await _db.Database.EnsureCreatedAsync();

            // Arrange
            sut = new TrilligRepository(_db);

            // Act
            IEnumerable <Trillig> result = await sut.GetAsync(id1, id2, id3);

            // Assert
            Assert.NotEmpty(result);
            Assert.Equal(3, result.Count());

            await _db.Database.EnsureDeletedAsync();
        }
Example #6
0
        public async Task GetAsync_WillReturnTheCorrectValue_WhenExists(int id)
        {
            await _db.Database.EnsureCreatedAsync();

            // Arrange
            sut = new TrilligRepository(_db);

            // Act
            Trillig result = await sut.GetAsync(id);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(id, result.Id);

            await _db.Database.EnsureDeletedAsync();
        }
Example #7
0
        public async Task AttemptingADelete_WithEmptyIds_HasNoEffect()
        {
            await _db.Database.EnsureCreatedAsync();

            // Arrange
            sut = new TrilligRepository(_db);
            var preTrilligs = await _db.Trilligs.CountAsync();

            // Act
            await sut.DeleteAsync();

            // Assert
            var postTrilligs = await _db.Trilligs.CountAsync();

            Assert.Equal(preTrilligs, postTrilligs);

            await _db.Database.EnsureDeletedAsync();
        }
Example #8
0
        public async Task DeletingEntitiesByKey_WillNotAffectNonExistentKeys()
        {
            // Arrange
            await _db.Database.EnsureCreatedAsync();

            var targetIds   = new[] { 1, 22, 33 };
            var preTrilligs = _db.Trilligs.Where(x => targetIds.Contains(x.Id)).ToArray();

            Assert.Single(preTrilligs);

            sut = new TrilligRepository(_db);

            // Act
            await sut.DeleteAsync(targetIds);

            // Assert
            var postTrilligs = _db.Trilligs.Where(x => targetIds.Contains(x.Id)).ToArray();

            Assert.Empty(postTrilligs);
            await _db.Database.EnsureDeletedAsync();
        }
Example #9
0
        public async Task DeletingEntitiesByKey_RemoveEntriesWithExisitngKeys()
        {
            // Arrange
            await _db.Database.EnsureCreatedAsync();

            var targetIds = new[] { 1, 2, 3 };

            var preTrilligs = _db.Trilligs.Where(x => targetIds.Contains(x.Id)).ToArray();

            Assert.Equal(3, preTrilligs.Length);

            sut = new TrilligRepository(_db);

            // Act
            await sut.DeleteAsync(targetIds);

            // Assert
            var postTrilligs = _db.Trilligs.Where(x => targetIds.Contains(x.Id)).ToArray();

            Assert.Empty(postTrilligs);
            await _db.Database.EnsureDeletedAsync();
        }