public IProductManagementService ResolveProductManagementService() { string connectionString = ConfigurationManager.ConnectionStrings ["CommerceObjectContext"].ConnectionString; // Inner Product Repository ProductRepository sqlRepository = new SqlProductRepository(connectionString); IAuditor sqlAuditor = new SqlAuditor(connectionString); // Decorator class ProductRepository auditingRepository = new AuditingProductRepository( sqlRepository, sqlAuditor); IContractMapper mapper = new ContractMapper(); // Injection of Decorator to use it as an interceptor of // the inner class functionality return(new ProductManagementService( auditingRepository, mapper)); }
public void SutIsProductRepository(AuditingProductRepository sut) { // Fixture setup // Exercise system // Verify outcome Assert.IsAssignableFrom <ProductRepository>(sut); // Teardown }
public IDictionary <string, AuditingProductEntity> QueryValidVersion(string hospitalId, string vendorId, DateTime orderApplyTime) { var list = AuditingProductRepository.Query(hospitalId, vendorId, orderApplyTime); var dic = new Dictionary <string, AuditingProductEntity>(); foreach (var item in list) { if (dic.Keys.Contains(item.ProductId)) { continue; } dic[item.ProductId] = item; } return(dic); }
public IList <AuditingProductEntity> QueryLatestVesion(string hospitalId, string vendorId) { var list = AuditingProductRepository.Query(hospitalId, vendorId); var dic = new Dictionary <string, AuditingProductEntity>(); foreach (var item in list) { if (dic.Keys.Contains(item.ProductId)) { continue; } dic[item.ProductId] = item; } return(dic.Values.ToList()); }
public IProductManagementService ResolveProductManagementService() { string connectionString = ConfigurationManager.ConnectionStrings ["CommerceObjectContext"].ConnectionString; ProductRepository sqlRepository = new SqlProductRepository(connectionString); IAuditor sqlAuditor = new SqlAuditor(connectionString); ProductRepository auditingRepository = new AuditingProductRepository( sqlRepository, sqlAuditor); IContractMapper mapper = new ContractMapper(); return(new ProductManagementService( auditingRepository, mapper)); }
public void Save(AuditingProductEntity entity) { AuditingProductRepository.Save(entity); }
public void InsertProductWillAuditInsertion(Product product, [Frozen] Mock <IAuditor> auditorMock, AuditingProductRepository sut) { // Fixture setup // Exercise system sut.InsertProduct(product); // Verify outcome auditorMock.Verify(a => a.Record(It.Is <AuditEvent>(ae => ae.Name == "ProductInserted" && ae.Data.Equals(product)))); // Teardown }
public void InsertProductWillInsertProductInDecoratedRepository(Product product, [Frozen] Mock <ProductRepository> repositoryMock, AuditingProductRepository sut) { // Fixture setup // Exercise system sut.InsertProduct(product); // Verify outcome repositoryMock.Verify(r => r.InsertProduct(product)); // Teardown }
public void DeleteProductWillAuditDeletion(int id, [Frozen] Mock <IAuditor> auditorMock, AuditingProductRepository sut) { // Fixture setup // Exercise system sut.DeleteProduct(id); // Verify outcome auditorMock.Verify(a => a.Record(It.Is <AuditEvent>(ae => ae.Name == "ProductDeleted" && ae.Data.Equals(id)))); // Teardown }
public void DeleteProductWillDeleteProductFromDecoratedRepository(int id, [Frozen] Mock <ProductRepository> repositoryMock, AuditingProductRepository sut) { // Fixture setup // Exercise system sut.DeleteProduct(id); // Verify outcome repositoryMock.Verify(r => r.DeleteProduct(id)); // Teardown }