Fix unit tests

This commit is contained in:
Slendy 2024-05-13 19:30:56 -05:00
commit 2219373616
No known key found for this signature in database
GPG key ID: 7288D68361B91428
2 changed files with 24 additions and 51 deletions

View file

@ -76,7 +76,7 @@ public class ActivityEventHandlerTests
eventHandler.OnEntityInserted(database, comment); eventHandler.OnEntityInserted(database, comment);
Assert.NotNull(database.Activities.OfType<CommentActivityEntity>() Assert.NotNull(database.Activities.ToList().OfType<CommentActivityEntity>()
.FirstOrDefault(a => a.Type == EventType.CommentOnLevel && a.CommentId == 1)); .FirstOrDefault(a => a.Type == EventType.CommentOnLevel && a.CommentId == 1));
} }
@ -105,7 +105,7 @@ public class ActivityEventHandlerTests
eventHandler.OnEntityInserted(database, comment); eventHandler.OnEntityInserted(database, comment);
Assert.NotNull(database.Activities.OfType<CommentActivityEntity>() Assert.NotNull(database.Activities.ToList().OfType<CommentActivityEntity>()
.FirstOrDefault(a => a.Type == EventType.CommentOnUser && a.CommentId == 1)); .FirstOrDefault(a => a.Type == EventType.CommentOnUser && a.CommentId == 1));
} }
@ -132,7 +132,7 @@ public class ActivityEventHandlerTests
eventHandler.OnEntityInserted(database, photo); eventHandler.OnEntityInserted(database, photo);
Assert.NotNull(database.Activities.OfType<PhotoActivityEntity>() Assert.NotNull(database.Activities.ToList().OfType<PhotoActivityEntity>()
.FirstOrDefault(a => a.Type == EventType.UploadPhoto && a.PhotoId == 1)); .FirstOrDefault(a => a.Type == EventType.UploadPhoto && a.PhotoId == 1));
} }
@ -678,7 +678,7 @@ public class ActivityEventHandlerTests
eventHandler.OnEntityChanged(database, oldSlot, newSlot); eventHandler.OnEntityChanged(database, oldSlot, newSlot);
Assert.NotNull(database.Activities.OfType<LevelActivityEntity>() Assert.NotNull(database.Activities.ToList().OfType<LevelActivityEntity>()
.FirstOrDefault(a => a.Type == EventType.MMPickLevel && a.SlotId == 1)); .FirstOrDefault(a => a.Type == EventType.MMPickLevel && a.SlotId == 1));
} }
@ -713,7 +713,7 @@ public class ActivityEventHandlerTests
eventHandler.OnEntityChanged(database, oldSlot, newSlot); eventHandler.OnEntityChanged(database, oldSlot, newSlot);
Assert.NotNull(database.Activities.OfType<LevelActivityEntity>() Assert.NotNull(database.Activities.ToList().OfType<LevelActivityEntity>()
.FirstOrDefault(a => a.Type == EventType.PublishLevel && a.SlotId == 1)); .FirstOrDefault(a => a.Type == EventType.PublishLevel && a.SlotId == 1));
} }
@ -750,8 +750,8 @@ public class ActivityEventHandlerTests
eventHandler.OnEntityChanged(database, oldComment, newComment); eventHandler.OnEntityChanged(database, oldComment, newComment);
Assert.NotNull(database.Activities.OfType<CommentActivityEntity>() Assert.NotNull(database.Activities.ToList()
.FirstOrDefault(a => a.Type == EventType.DeleteLevelComment && a.CommentId == 1)); .FirstOrDefault(a => a.Type == EventType.DeleteLevelComment && ((CommentActivityEntity)a).CommentId == 1));
} }
[Fact] [Fact]

View file

@ -86,34 +86,27 @@ public class ActivityGroupingTests
}, },
]; ];
//TODO: fix test
List<OuterActivityGroup> groups = activities.ToActivityDto().AsQueryable().ToActivityGroups().ToList().ToOuterActivityGroups(); List<OuterActivityGroup> groups = activities.ToActivityDto().AsQueryable().ToActivityGroups().ToList().ToOuterActivityGroups();
Assert.NotNull(groups); Assert.NotNull(groups);
Assert.Single(groups); Assert.Equal(3, groups.Count);
OuterActivityGroup outerGroup = groups.First();
Assert.Equal(ActivityGroupType.User, groups.ElementAt(0).Key.GroupType);
Assert.Equal(ActivityGroupType.User, groups.ElementAt(1).Key.GroupType);
Assert.Equal(ActivityGroupType.Level, groups.ElementAt(2).Key.GroupType);
Assert.Equal(ActivityGroupType.Level, outerGroup.Key.GroupType); Assert.Equal(1, groups.ElementAt(0).Key.TargetUserId);
Assert.Equal(1, outerGroup.Key.TargetSlotId); Assert.Equal(2, groups.ElementAt(1).Key.TargetUserId);
Assert.Equal(1, groups.ElementAt(2).Key.TargetSlotId);
IGrouping<InnerActivityGroup, ActivityDto>? firstGroup = outerGroup.Groups.First(); Assert.Single(groups.ElementAt(0).Groups);
IGrouping<InnerActivityGroup, ActivityDto>? secondGroup = outerGroup.Groups.Last(); Assert.Single(groups.ElementAt(1).Groups);
Assert.Equal(2, groups.ElementAt(2).Groups.Count);
Assert.NotNull(secondGroup);
Assert.Equal(ActivityGroupType.User, secondGroup.Key.Type);
Assert.Equal(1, secondGroup.Key.TargetId); // user group should have the user id
Assert.Equal(1, secondGroup.ToList()[0].TargetSlotId); // events in user group should have t
Assert.Equal(1, secondGroup.ToList()[1].TargetSlotId);
Assert.NotNull(firstGroup);
Assert.Equal(ActivityGroupType.User, firstGroup.Key.Type);
Assert.Equal(2, firstGroup.Key.TargetId);
Assert.Equal(1, firstGroup.ToList()[0].TargetSlotId);
} }
[Fact] [Fact]
public void ToOuterActivityGroups_ShouldCreateGroupPerObject_WhenGroupedBy_ActorThenObject() public void ToOuterActivityGroups_ShouldCreateGroupPerObject_WhenGroupedBy_ActorThenObject()
{ {
List<ActivityEntity> activities = [ List<ActivityEntity> activities = [
new LevelActivityEntity new LevelActivityEntity
{ {
UserId = 1, UserId = 1,
@ -181,11 +174,13 @@ public class ActivityGroupingTests
.ToActivityGroups(true) .ToActivityGroups(true)
.ToList() .ToList()
.ToOuterActivityGroups(true); .ToOuterActivityGroups(true);
//TODO: fix test
Assert.Multiple(() => Assert.Multiple(() =>
{ {
Assert.NotNull(groups); Assert.NotNull(groups);
Assert.Equal(2, groups.Count); Assert.Equal(2, groups.Count);
Assert.Equal(1, groups.Count(g => g.Key.UserId == 1));
Assert.Equal(1, groups.Count(g => g.Key.UserId == 2));
OuterActivityGroup firstUserGroup = groups.FirstOrDefault(g => g.Key.UserId == 1); OuterActivityGroup firstUserGroup = groups.FirstOrDefault(g => g.Key.UserId == 1);
OuterActivityGroup secondUserGroup = groups.FirstOrDefault(g => g.Key.UserId == 2); OuterActivityGroup secondUserGroup = groups.FirstOrDefault(g => g.Key.UserId == 2);
Assert.NotNull(firstUserGroup.Groups); Assert.NotNull(firstUserGroup.Groups);
@ -194,28 +189,8 @@ public class ActivityGroupingTests
Assert.Equal(ActivityGroupType.User, firstUserGroup.Key.GroupType); Assert.Equal(ActivityGroupType.User, firstUserGroup.Key.GroupType);
Assert.Equal(ActivityGroupType.User, secondUserGroup.Key.GroupType); Assert.Equal(ActivityGroupType.User, secondUserGroup.Key.GroupType);
Assert.Single(firstUserGroup.Groups); Assert.True(firstUserGroup.Groups.All(g => g.Key.UserId == 1));
Assert.Single(secondUserGroup.Groups); Assert.True(secondUserGroup.Groups.All(g => g.Key.UserId == 2));
Assert.Equal(2, firstUserGroup.Groups.ToList()[0].Count());
Assert.Single(secondUserGroup.Groups.ToList()[0]);
// Assert.Equal(ActivityGroupType.Level, outerGroup.Key.GroupType);
// Assert.Equal(1, outerGroup.Key.TargetSlotId);
//
// IGrouping<InnerActivityGroup, ActivityDto>? firstGroup = outerGroup.Groups.First();
// IGrouping<InnerActivityGroup, ActivityDto>? secondGroup = outerGroup.Groups.Last();
//
// Assert.NotNull(secondGroup);
// Assert.Equal(ActivityGroupType.User, secondGroup.Key.Type);
// Assert.Equal(1, secondGroup.Key.TargetId); // user group should have the user id
// Assert.Equal(1, secondGroup.ToList()[0].TargetSlotId); // events in user group should have t
// Assert.Equal(1, secondGroup.ToList()[1].TargetSlotId);
//
// Assert.NotNull(firstGroup);
// Assert.Equal(ActivityGroupType.User, firstGroup.Key.Type);
// Assert.Equal(2, firstGroup.Key.TargetId);
// Assert.Equal(1, firstGroup.ToList()[0].TargetSlotId);
}); });
} }
@ -318,8 +293,6 @@ public class ActivityGroupingTests
}); });
await db.SaveChangesAsync(); await db.SaveChangesAsync();
var sql = db.Activities.ToActivityDto().ToQueryString();
List<ActivityDto> resultDto = await db.Activities.ToActivityDto(includeSlotCreator: true, includeTeamPick: true).ToListAsync(); List<ActivityDto> resultDto = await db.Activities.ToActivityDto(includeSlotCreator: true, includeTeamPick: true).ToListAsync();
Assert.Equal(2, resultDto.FirstOrDefault(a => a.Activity.Type == EventType.MMPickLevel)?.TargetTeamPickId); Assert.Equal(2, resultDto.FirstOrDefault(a => a.Activity.Type == EventType.MMPickLevel)?.TargetTeamPickId);