public static async Task CreatePriceTypeCsvAsync_InvokesCreateCsvAsync( [Frozen] Mock <ICsvStreamWriter <OdooOrderItem> > csvWriter, CreatePurchasingDocumentService service, Order order) { var stream = Mock.Of <Stream>(); await service.CreateCsvAsync(stream, order); csvWriter.Verify( c => c.WriteRecordsAsync(It.Is <Stream>(s => s == stream), It.IsNotNull <IEnumerable <OdooOrderItem> >())); }
public static async Task CreatePriceTypeCsvAsync_CreatesExpectedPriceType( [Frozen] Mock <ICsvStreamWriter <OdooOrderItem> > csvWriter, [Frozen] OrderItem item, Order order, CreatePurchasingDocumentService service) { item.SetRecipients(new[] { item.OrderItemRecipients[0] }); order.AddOrUpdateOrderItem(item); IReadOnlyList <OdooOrderItem> actualOrderItems = null; void SaveOrderItems(Stream s, IEnumerable <OdooOrderItem> orderItems) => actualOrderItems = orderItems.ToList(); csvWriter .Setup(c => c.WriteRecordsAsync(It.IsNotNull <Stream>(), It.IsNotNull <IEnumerable <OdooOrderItem> >())) .Callback <Stream, IEnumerable <OdooOrderItem> >(SaveOrderItems); await service.CreateCsvAsync(Mock.Of <Stream>(), order); actualOrderItems.Should().NotBeNull(); actualOrderItems.Should().HaveCount(1); actualOrderItems[0].Should().BeEquivalentTo(new OdooOrderItem(order.FlattenOrderItems()[0])); }