Exemplo n.º 1
0
        public void UpdateDocument_InvalidatesCache()
        {
            //Arrange
            var permissions              = SetupPermissions();
            var permission               = permissions.Values.First();
            var mockDbAccessService      = SetupMockDocumentDbService(permissions);
            var cachingDocumentDbService = new CachingDocumentDbService(mockDbAccessService.Object,
                                                                        new MemoryCache(new MemoryCacheOptions()));

            //Act
            this.AssertPermissionRetrievedAsync(permission, cachingDocumentDbService).Wait();
            cachingDocumentDbService.UpdateDocument(permission.Identifier, permission).Wait();
            this.AssertPermissionRetrievedAsync(permission, cachingDocumentDbService).Wait();

            //Assert
            mockDbAccessService.Verify(dbAccessService => dbAccessService.GetDocument <Permission>(It.IsAny <string>()), Times.Exactly(2));
        }