Skip to content

Commit 660e193

Browse files
Merge pull request dotnet-architecture#181 from BillWagner/use-IEnumerable-dynamic
Use IEnumerable<dynamic> instead of dynamic for collections
2 parents 42d23a7 + aa69e11 commit 660e193

4 files changed

Lines changed: 11 additions & 8 deletions

File tree

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
namespace Microsoft.eShopOnContainers.Services.Ordering.API.Application.Queries
22
{
3+
using System.Collections.Generic;
34
using System.Threading.Tasks;
45

56
public interface IOrderQueries
67
{
78
Task<dynamic> GetOrderAsync(int id);
89

9-
Task<dynamic> GetOrdersAsync();
10+
Task<IEnumerable<dynamic>> GetOrdersAsync();
1011

11-
Task<dynamic> GetCardTypesAsync();
12+
Task<IEnumerable<dynamic>> GetCardTypesAsync();
1213
}
1314
}

src/Services/Ordering/Ordering.API/Application/Queries/OrderQueries.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ FROM ordering.Orders o
4444
}
4545
}
4646

47-
public async Task<dynamic> GetOrdersAsync()
47+
public async Task<IEnumerable<dynamic>> GetOrdersAsync()
4848
{
4949
using (var connection = new SqlConnection(_connectionString))
5050
{
@@ -58,7 +58,7 @@ FROM [ordering].[Orders] o
5858
}
5959
}
6060

61-
public async Task<dynamic> GetCardTypesAsync()
61+
public async Task<IEnumerable<dynamic>> GetCardTypesAsync()
6262
{
6363
using (var connection = new SqlConnection(_connectionString))
6464
{

src/Services/Ordering/Ordering.API/Controllers/OrdersController.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,9 @@ public async Task<IActionResult> GetOrder(int orderId)
6868
[HttpGet]
6969
public async Task<IActionResult> GetOrders()
7070
{
71-
var orders = await _orderQueries
72-
.GetOrdersAsync();
71+
var orderTask = _orderQueries.GetOrdersAsync();
72+
73+
var orders = await orderTask;
7374

7475
return Ok(orders);
7576
}

test/Services/UnitTest/Ordering/Application/OrdersWebApiTest.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using Microsoft.eShopOnContainers.Services.Ordering.API.Infrastructure.Services;
77
using Moq;
88
using System;
9+
using System.Linq;
910
using System.Threading.Tasks;
1011
using Xunit;
1112

@@ -59,7 +60,7 @@ public async Task Create_order_bad_request()
5960
public async Task Get_orders_success()
6061
{
6162
//Arrange
62-
var fakeDynamicResult = new Object();
63+
var fakeDynamicResult = Enumerable.Empty<object>();
6364
_orderQueriesMock.Setup(x => x.GetOrdersAsync())
6465
.Returns(Task.FromResult(fakeDynamicResult));
6566

@@ -92,7 +93,7 @@ public async Task Get_order_success()
9293
public async Task Get_cardTypes_success()
9394
{
9495
//Arrange
95-
var fakeDynamicResult = new Object();
96+
var fakeDynamicResult = Enumerable.Empty<object>();
9697
_orderQueriesMock.Setup(x => x.GetCardTypesAsync())
9798
.Returns(Task.FromResult(fakeDynamicResult));
9899

0 commit comments

Comments
 (0)