public void When_Handler_Exists_In_Same_Assembly_Can_Find() { // Arrange var scanner = new ApiOperationHandlerExecutorBuilderScanner(); var handlers = scanner.FindHandlers( new ServiceCollection(), typeof(OperationA), Enumerable.Empty <Assembly>()); handlers.Should().NotBeEmpty(); }
public void When_Handler_Exists_In_IoC_Finds() { // Arrange var scanner = new ApiOperationHandlerExecutorBuilderScanner(); var services = new ServiceCollection(); services.AddSingleton <ScanOperationHandler, ScanOperationHandler>(); var handlers = scanner.FindHandlers( services, typeof(OperationA), Enumerable.Empty <Assembly>()); handlers.Should().NotBeEmpty(); }
public void When_Handler_Registered_As_Interface_Exists_In_IoC_Finds() { // Arrange var scanner = new ApiOperationHandlerExecutorBuilderScanner(); var services = new ServiceCollection(); services.AddSingleton <IApiOperationHandler <OperationA>, ScanOperationHandler>(); var handlers = scanner.FindHandlers( services, typeof(OperationA), Enumerable.Empty <Assembly>()); handlers.Should().NotBeEmpty(); handlers.OfType <ApiOperationHandlerExecutorBuilder>().Should().Contain(b => b.ApiOperationHandlerType == typeof(ScanOperationHandler) && b.ToString().StartsWith("IoC")); }
public void When_Handler_Exists_In_Assembly_And_IoC_Single_Returned() { // Arrange var scanner = new ApiOperationHandlerExecutorBuilderScanner(); // Act var services = new ServiceCollection(); services.AddSingleton <IApiOperationHandler <OperationA>, ScanOperationHandler>(); var operationAHandlers = scanner.FindHandlers( services, typeof(OperationA), Enumerable.Empty <Assembly>()); // Assert operationAHandlers.Should().NotBeEmpty(); operationAHandlers.Should().HaveCount(1); }
public void When_Handler_Exists_In_Same_Assembly_And_Implements_Multiple_Interfaces_Can_Find_For_All() { // Arrange var scanner = new ApiOperationHandlerExecutorBuilderScanner(); // Act var operationAHandlers = scanner.FindHandlers( new ServiceCollection(), typeof(OperationA), Enumerable.Empty <Assembly>()); var operationBHandlers = scanner.FindHandlers( new ServiceCollection(), typeof(OperationB), Enumerable.Empty <Assembly>()); // Assert operationAHandlers.Should().NotBeEmpty(); operationBHandlers.Should().NotBeEmpty(); }