Skip to content

Commit 995cc89

Browse files
committed
Fix API signatures for collections
The methods that return collections should return Task<IEnumerable<dynamic>> not Task<dynamic>
1 parent 2785dd7 commit 995cc89

3 files changed

Lines changed: 10 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: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,27 +44,27 @@ FROM ordering.Orders o
4444
}
4545
}
4646

47-
public async Task<dynamic> GetOrdersAsync()
47+
public Task<IEnumerable<dynamic>> GetOrdersAsync()
4848
{
4949
using (var connection = new SqlConnection(_connectionString))
5050
{
5151
connection.Open();
5252

53-
return await connection.QueryAsync<dynamic>(@"SELECT o.[Id] as ordernumber,o.[OrderDate] as [date],os.[Name] as [status],SUM(oi.units*oi.unitprice) as total
53+
return connection.QueryAsync<dynamic>(@"SELECT o.[Id] as ordernumber,o.[OrderDate] as [date],os.[Name] as [status],SUM(oi.units*oi.unitprice) as total
5454
FROM [ordering].[Orders] o
5555
LEFT JOIN[ordering].[orderitems] oi ON o.Id = oi.orderid
5656
LEFT JOIN[ordering].[orderstatus] os on o.OrderStatusId = os.Id
5757
GROUP BY o.[Id], o.[OrderDate], os.[Name]");
5858
}
5959
}
6060

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

67-
return await connection.QueryAsync<dynamic>("SELECT * FROM ordering.cardtypes");
67+
return connection.QueryAsync<dynamic>("SELECT * FROM ordering.cardtypes");
6868
}
6969
}
7070

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)