public async Task CanGetAllEmployedBaristas(GetEmployedBaristas query, Barista[] baristasToHire)
        {
            // Arrange
            await _fixture.ExecuteDbContextAsync(async dbContext =>
            {
                // Completed orders will be automatically generated by AutoFixture
                dbContext.Baristas.AddRange(baristasToHire);
                await dbContext.SaveChangesAsync();
            });

            // Act
            var baristas = await _fixture.SendAsync(query);

            // Assert
            (baristas.Count == baristasToHire.Length &&
             baristas.All(b => baristasToHire.Any(hiredBarista =>
                                                  b.Id == hiredBarista.Id &&
                                                  b.ShortName == hiredBarista.ShortName &&
                                                  b.CompletedOrders.Count == hiredBarista.CompletedOrders.Count &&
                                                  b.CompletedOrders.All(ov => hiredBarista.CompletedOrders.Any(o =>
                                                                                                               o.Id == ov.Id &&
                                                                                                               o.Status == ov.Status &&
                                                                                                               o.OrderedItems.Count == ov.OrderedItems.Count)))))
            .ShouldBeTrue();
        }
        public async Task CanGetAllEmployedBaristasWhenNoneHaveBeenHired(GetEmployedBaristas query)
        {
            // Arrange
            // Purposefully not hiring any baristas

            // Act
            var baristas = await _fixture.SendAsync(query);

            // Assert
            (baristas.Count == 0).ShouldBeTrue();
        }
Exemplo n.º 3
0
 public Task <IList <BaristaView> > Handle(GetEmployedBaristas request, CancellationToken cancellationToken) =>
 _baristaViewRepository
 .GetAll();