public async Task ReadAll_Category_ReturnsResultFromQuery()
        {
            // Arrange
            var query = new ReadAllCategoriesQuery();
            var databaseContextOptions = new DbContextOptionsBuilder <DatabaseContext>()
                                         .UseInMemoryDatabase("kb-pundit")
                                         .Options;
            var databaseContext        = new DatabaseContext(databaseContextOptions);
            var categoryCommandHandler = new CategoryCommandHandler(databaseContext);
            var categoryQueryHandler   = new CategoryQueryHandler(databaseContext);
            var circuitBreaker         = new CircuitBreaker(TaskScheduler.Default, 5, TimeSpan.FromMilliseconds(10), TimeSpan.FromMilliseconds(1000));

            var controller = new CategoryController(circuitBreaker, categoryCommandHandler, categoryQueryHandler);

            // Act
            var categoryResult = await controller.ReadAllCategoriesAsync(query);

            // Assert
            Assert.IsNotNull(categoryResult, "Result is null.");
            Assert.AreEqual(1, categoryResult.Size);
        }
示例#2
0
 public async Task <ReadAllCategoriesQueryResult> ReadAllCategoriesAsync(
     [FromQuery] ReadAllCategoriesQuery query, CancellationToken cancellationToken = default(CancellationToken))
 {
     return(await _categoryQueryHandler.ExecuteAsync(query, cancellationToken));
 }