diff --git a/CommBank-Server/Models/Goal.cs b/CommBank-Server/Models/Goal.cs index 77ff1ad5..20b9b5d4 100644 --- a/CommBank-Server/Models/Goal.cs +++ b/CommBank-Server/Models/Goal.cs @@ -27,4 +27,6 @@ public class Goal [BsonRepresentation(BsonType.ObjectId)] public string? UserId { get; set; } + + public string? Icon { get; set; } } \ No newline at end of file diff --git a/CommBank.Tests/GoalControllerTests.cs b/CommBank.Tests/GoalControllerTests.cs index 8380181f..d71127c7 100644 --- a/CommBank.Tests/GoalControllerTests.cs +++ b/CommBank.Tests/GoalControllerTests.cs @@ -66,9 +66,35 @@ public async void Get() public async void GetForUser() { // Arrange - - // Act - - // Assert + var goals = collections.GetGoals(); + var users = collections.GetUsers(); + + IGoalsService goalsService = + new FakeGoalsService(goals, goals[0]); + + IUsersService usersService = + new FakeUsersService(users, users[0]); + + GoalController controller = + new(goalsService, usersService); + + // Act + var httpContext = + new Microsoft.AspNetCore.Http.DefaultHttpContext(); + + controller.ControllerContext.HttpContext = + httpContext; + + var result = + await controller.GetForUser(goals[0].UserId!); + + // Assert + Assert.NotNull(result); + + foreach (Goal goal in result!) + { + Assert.IsAssignableFrom(goal); + Assert.Equal(goals[0].UserId, goal.UserId); + } } } \ No newline at end of file