Esempio n. 1
0
        public void DeletePostByCloudId_WhenEmptyContext_ReturnsUnsuccessfulOperation()
        {
            // Arrange
            var postsCount = _appDbContext.Posts.Count();
            var cloudId    = 1;

            // Act
            var operationResult          = _postManager.DeleteByCloudIdAsync(cloudId).GetAwaiter().GetResult();
            var postsCountAfterOperation = _appDbContext.Posts.Count();

            // Assert
            Assert.Equal(0, operationResult);
            Assert.Equal(postsCount, postsCountAfterOperation);
        }
        /// <inheritdoc/>
        public async Task DeleteAsync()
        {
            _logger.LogInformation(SyncMessage.PostDeleteStart);

            var postsCloud = await _cloudManager.GetPosts().ToListAsync();

            var postsApp = (await _postManager.GetAllAsync()).ToList();

            var postsCloudIds = postsCloud.Select(p => p.Id);
            var postsAppIds   = postsApp.Select(p => p.CloudId);

            var deleteIds = postsAppIds.Except(postsCloudIds);

            if (deleteIds.Any())
            {
                foreach (var id in deleteIds)
                {
                    await _postManager.DeleteByCloudIdAsync(id);
                }
            }

            _logger.LogInformation(SyncMessage.PostDeleteEnd);
        }