public void SendOrder_ArgumentIsOk_ReturnsInvoiceFile() { // arrange var viewModel = new List <EquipmentItemViewModel>() { new EquipmentItemViewModel() { ItemId = 1, Quantity = 11 }, new EquipmentItemViewModel() { ItemId = 2, Quantity = 12 }, new EquipmentItemViewModel() { ItemId = 3, Quantity = 13 } }; string testFileContents = "test file contents"; commandService.SendOrder(null).ReturnsForAnyArgs(Encoding.UTF8.GetBytes(testFileContents)); // act var actualResult = controller.SendOrder(viewModel); // assert commandService.Received(1).SendOrder(Arg.Is <IEnumerable <OrderItemDto> >(x => CollectionsAreEquivalent(viewModel, x))); logger.ReceivedWithAnyArgs(1).LogInformation(null); Encoding.UTF8.GetString((actualResult as FileContentResult).FileContents).Should().Be(testFileContents); }