private static INamedServiceFactory <IClassifierRepository> CreateClassifierRepositoryFactory(IDbContextFactory dbContextFactory) { var classifierTypeRepository = new DbClassifierTypeRepository(dbContextFactory); var classifierTypeService = new DbClassifierTypeService(dbContextFactory, classifierTypeRepository); var fieldProviderRegistry = new DefaultFieldProviderRegistry(); fieldProviderRegistry.AddFieldType(typeof(TextField)); var dbFieldDataRepository = new DbFieldDataRepository(dbContextFactory, fieldProviderRegistry); var metadataServiceMock = new Mock <IClassifierTypeMetadataService>(); var classifierRepository = new DbClassifierRepository <Classifier>(dbContextFactory, classifierTypeService, null, metadataServiceMock.Object, dbFieldDataRepository, null); var numeratorRepository = new DbNumeratorRepository(dbContextFactory, classifierTypeService, null, metadataServiceMock.Object, dbFieldDataRepository, null); var classifierRepositoryFactoryMock = new Mock <INamedServiceFactory <IClassifierRepository> >(); classifierRepositoryFactoryMock .Setup(x => x.GetNamedOrDefaultService(It.Is <string>(name => name == ClassifierTypeCode.Numerator))) .Returns(() => numeratorRepository); classifierRepositoryFactoryMock .Setup(x => x.GetNamedOrDefaultService(It.Is <string>(name => name != ClassifierTypeCode.Numerator))) .Returns(() => classifierRepository); return(classifierRepositoryFactoryMock.Object); }
public async Task GetInvitationList_ForNormalRequest_ReturnItems() { // arrange var cancellationToken = CancellationToken.None; var dbContextFactory = new DefaultDbContextFactory(); var classifierTypeRepository = new DbClassifierTypeRepository(dbContextFactory); var classifierTypeService = new DbClassifierTypeService(dbContextFactory, classifierTypeRepository); var fieldProviderRegistry = new DefaultFieldProviderRegistry(); fieldProviderRegistry.AddFieldType(typeof(TextField)); var dbFieldDataRepository = new DbFieldDataRepository(dbContextFactory, fieldProviderRegistry); var metadataServiceMock = new Mock <IClassifierTypeMetadataService>(); metadataServiceMock .Setup(x => x.GetMetadata(It.IsAny <ClassifierType>(), It.IsAny <CancellationToken>())) .ReturnsAsync(() => new FieldMetadata[] { new TextField { Key = "test1", Active = true, System = false }, new TextField { Key = "test2", Active = true, System = false }, new TextField { Key = "test3", Active = true, System = false } }); var classifierRepository = new DbClassifierRepository <Classifier>(dbContextFactory, classifierTypeService, null, metadataServiceMock.Object, dbFieldDataRepository, null); var handler = new GetInvitationListHandler(dbContextFactory, classifierRepository); // act var command = new GetInvitationList { UserUid = Guid.NewGuid(), }; var result = await handler.Handle(command, cancellationToken); // assert Assert.IsNotNull(result); Assert.IsNotNull(result.Rows); }
private static INamedServiceFactory <IClassifierRepository> CreateClassifierRepositoryFactory(IDbContextFactory dbContextFactory) { var classifierTypeRepository = new DbClassifierTypeRepository(dbContextFactory); var classifierTypeService = new DbClassifierTypeService(dbContextFactory, classifierTypeRepository); var fieldProviderRegistry = new DefaultFieldProviderRegistry(); fieldProviderRegistry.AddFieldType(typeof(TextField)); var dbFieldDataRepository = new DbFieldDataRepository(dbContextFactory, fieldProviderRegistry); var metadataServiceMock = new Mock <IClassifierTypeMetadataService>(); metadataServiceMock .Setup(x => x.GetMetadata(It.IsAny <ClassifierType>(), It.IsAny <CancellationToken>())) .ReturnsAsync(() => new FieldMetadata[] { new TextField { Key = "test1", Active = true, System = false }, new TextField { Key = "test2", Active = true, System = false }, new TextField { Key = "test3", Active = true, System = false } }); var classifierRepository = new DbClassifierRepository <Classifier>(dbContextFactory, classifierTypeService, null, metadataServiceMock.Object, dbFieldDataRepository, null); var numeratorRepository = new DbNumeratorRepository(dbContextFactory, classifierTypeService, null, metadataServiceMock.Object, dbFieldDataRepository, null); var classifierRepositoryFactoryMock = new Mock <INamedServiceFactory <IClassifierRepository> >(); classifierRepositoryFactoryMock .Setup(x => x.GetNamedOrDefaultService(It.Is <string>(name => name == NumeratorTypeCode))) .Returns(() => numeratorRepository); classifierRepositoryFactoryMock .Setup(x => x.GetNamedOrDefaultService(It.Is <string>(name => name != NumeratorTypeCode))) .Returns(() => classifierRepository); return(classifierRepositoryFactoryMock.Object); }
public async Task ExportClassifierList_Should_ReturnStream() { // arrange var cancellationToken = new CancellationToken(); var unitOfWorkFactory = new TransactionScopeUnitOfWorkFactory(); var dbContextFactory = new DefaultDbContextFactory(); var classifierTypeRepository = new DbClassifierTypeRepository(dbContextFactory); var classifierTypeService = new DbClassifierTypeService(dbContextFactory, classifierTypeRepository); var fieldProviderRegistry = new DefaultFieldProviderRegistry(); fieldProviderRegistry.AddFieldType(typeof(TextField)); fieldProviderRegistry.AddFieldType(typeof(TextAreaField)); var dbFieldDataRepository = new DbFieldDataRepository(dbContextFactory, fieldProviderRegistry); var metadataServiceMock = new Mock <IClassifierTypeMetadataService>(); metadataServiceMock .Setup(x => x.GetMetadata(It.IsAny <ClassifierType>(), It.IsAny <CancellationToken>())) .ReturnsAsync(() => new FieldMetadata[] { new TextField { Key = "test1", Active = true, System = false }, new TextField { Key = "test2", Active = true, System = false }, new TextField { Key = "test3", Active = true, System = false } }); var generator = new MasterDataDbGenerator(unitOfWorkFactory, dbContextFactory); var classifierRepository = new DbClassifierRepository <Classifier>( dbContextFactory, classifierTypeService, null, metadataServiceMock.Object, dbFieldDataRepository, null); var classifierRepositoryFactoryMock = new Mock <INamedServiceFactory <IClassifierRepository> >(); classifierRepositoryFactoryMock .Setup(x => x.GetNamedOrDefaultService(generator.TypeCode)) .Returns(() => classifierRepository); var handler = new ExportClassifierListHandler(classifierRepositoryFactoryMock.Object); using (var _ = unitOfWorkFactory.Create()) { // arrange await generator.InsertType(HierarchyType.None, cancellationToken); for (var i = 0; i < 100; i++) { await generator.InsertItem($"{i:D4}", null, cancellationToken); } // act var command = new ExportClassifierList { TypeCode = generator.TypeCode }; var result = await handler.Handle(command, cancellationToken); // assert Assert.IsNotNull(result); Assert.IsNotNull(result.Stream); Assert.IsNotNull(result.FileName); Assert.IsNotNull(result.ContentType); // temp using (var fs = new FileStream(result.FileName, FileMode.OpenOrCreate)) { await result.Stream.CopyToAsync(fs, cancellationToken); } } }
public async Task Handle_NormalValues_InsertInvitation() { // arrange var cancellationToken = new CancellationToken(); var unitOfWorkFactory = new TransactionScopeUnitOfWorkFactory(); var dbContextFactory = new DefaultDbContextFactory(); var classifierTypeRepository = new DbClassifierTypeRepository(dbContextFactory); var classifierTypeService = new DbClassifierTypeService(dbContextFactory, classifierTypeRepository); var fieldProviderRegistry = new DefaultFieldProviderRegistry(); fieldProviderRegistry.AddFieldType(typeof(TextField)); var dbFieldDataRepository = new DbFieldDataRepository(dbContextFactory, fieldProviderRegistry); var metadataServiceMock = new Mock <IClassifierTypeMetadataService>(); metadataServiceMock .Setup(x => x.GetMetadata(It.IsAny <ClassifierType>(), It.IsAny <CancellationToken>())) .ReturnsAsync(() => new FieldMetadata[] { new TextField { Key = "test1", Active = true, System = false }, new TextField { Key = "test2", Active = true, System = false }, new TextField { Key = "test3", Active = true, System = false } }); var classifierRepository = new DbClassifierRepository <Classifier>(dbContextFactory, classifierTypeService, null, metadataServiceMock.Object, dbFieldDataRepository, null); var generator = new MasterDataDbGenerator(unitOfWorkFactory, dbContextFactory); var classifierRepositoryFactoryMock = new Mock <INamedServiceFactory <IClassifierRepository> >(); classifierRepositoryFactoryMock .Setup(x => x.GetNamedOrDefaultService(It.IsAny <string>())) .Returns(() => classifierRepository); var handler = new InsertInvitationHandler(unitOfWorkFactory, dbContextFactory, classifierRepositoryFactoryMock.Object); using (var _ = unitOfWorkFactory.Create()) { // act var command = new InsertInvitation { UserUid = generator.UserUid, CompanyUid = generator.CompanyUid, EventUid = Guid.Parse("436c290c-37b2-11e9-88fe-00ff279ba9e1"), Items = new [] { new Invitation { CounterpartyUid = Guid.Parse("1bef28d6-2255-416c-a706-008e0c179508") } } }; var result = await handler.Handle(command, cancellationToken); // assert Assert.IsNotNull(result); Assert.IsTrue(result.Success); Assert.AreEqual(1, result.AffectedRows); } }
public async Task GetClassifierList_Should_ReturnList() { // arrange var cancellationToken = CancellationToken.None; var dbContextFactory = new DefaultDbContextFactory(); var unitOfWorkFactory = new TransactionScopeUnitOfWorkFactory(); var classifierTypeRepository = new DbClassifierTypeRepository(dbContextFactory); var classifierTypeService = new DbClassifierTypeService(dbContextFactory, classifierTypeRepository); var fieldProviderRegistry = new DefaultFieldProviderRegistry(); fieldProviderRegistry.AddFieldType(typeof(TextField)); var dbFieldDataRepository = new DbFieldDataRepository(dbContextFactory, fieldProviderRegistry); var metadataServiceMock = new Mock <IClassifierTypeMetadataService>(); metadataServiceMock .Setup(x => x.GetMetadata(It.IsAny <ClassifierType>(), It.IsAny <CancellationToken>())) .ReturnsAsync(() => new FieldMetadata[] { new TextField { Key = "test1", Active = true, System = false }, new TextField { Key = "test2", Active = true, System = false }, new TextField { Key = "test3", Active = true, System = false } }); var classifierRepository = new DbClassifierRepository <Classifier>( dbContextFactory, classifierTypeService, null, metadataServiceMock.Object, dbFieldDataRepository, null); var classifierRepositoryFactoryMock = new Mock <INamedServiceFactory <IClassifierRepository> >(); classifierRepositoryFactoryMock.Setup(x => x.GetNamedOrDefaultService(It.IsAny <string>())).Returns(classifierRepository); var handler = new GetClassifierListHandler(classifierRepositoryFactoryMock.Object); var generator = new MasterDataDbGenerator(unitOfWorkFactory, dbContextFactory); using (var _ = unitOfWorkFactory.Create()) { // arrange await generator.InsertType(HierarchyType.None, cancellationToken); for (var i = 0; i < 42; i++) { await generator.InsertItem($"{i:D4}", null, cancellationToken); } // act var command = new GetClassifierList { TypeCode = generator.TypeCode }; var result = await handler.Handle(command, cancellationToken); // assert Assert.IsNotNull(result); Assert.AreEqual(10, result.Rows.Count); Assert.AreEqual(42, result.TotalCount); } }