public async Task RemoveCharacterLinkEntryAsync_RemovesEntry_WhenEntryRemoved() { //ARRANGE var user = new User { Email = "*****@*****.**", UserName = "******" }; var game = new Game { Name = "Test", Status = EntityStatus.Active }; var character1 = new Character { Name = "Test1", Status = EntityStatus.Active, Game = game }; var character2 = new Character { Name = "Test2", Status = EntityStatus.Active, Game = game }; var linkEntry = new CharacterLinkEntry { User = user, Type = CharacterLinkEntryType.CounteredBy, LinkedCharacter = character2 }; character1.LinkEntries.Add(linkEntry); fixture.Context.Characters.Add(character1); fixture.Context.Characters.Add(character2); fixture.Context.Users.Add(user); fixture.Context.SaveChanges(); var count = await fixture.Context.LinkEntries.CountAsync(); //ACT var result1 = await service.RemoveCharacterLinkEntryAsync(CharacterLinkEntryType.CounteredBy, user.Id, character1.Id, character2.Id); //ASSERT Assert.True(result1); Assert.Equal(count - 1, await fixture.Context.LinkEntries.CountAsync()); }
public async Task RemoveCharacterLinkEntryAsync_DoesntRemoveEntry_WhenRequiredEntitiesDontExist() { //ARRANGE var user = new User { Email = "*****@*****.**", UserName = "******" }; var game = new Game { Name = "Test", Status = EntityStatus.Active }; var character1 = new Character { Name = "Test1", Status = EntityStatus.Active, Game = game }; var character2 = new Character { Name = "Test2", Status = EntityStatus.Active, Game = game }; var linkEntry = new CharacterLinkEntry { User = user, Type = CharacterLinkEntryType.CounteredBy, LinkedCharacter = character2 }; character1.LinkEntries.Add(linkEntry); fixture.Context.Characters.Add(character1); fixture.Context.Characters.Add(character2); fixture.Context.Users.Add(user); fixture.Context.SaveChanges(); var count = await fixture.Context.LinkEntries.CountAsync(); //ACT var result1 = await service.RemoveCharacterLinkEntryAsync(CharacterLinkEntryType.CounteredBy, user.Id, character1.Id, 999); var result2 = await service.RemoveCharacterLinkEntryAsync(CharacterLinkEntryType.CounteredBy, user.Id, 999, character2.Id); var result3 = await service.RemoveCharacterLinkEntryAsync(CharacterLinkEntryType.CounteredBy, Guid.NewGuid().ToString(), character1.Id, character2.Id); var result4 = await service.RemoveCharacterLinkEntryAsync(CharacterLinkEntryType.CounteredBy, user.Id, character2.Id, character1.Id); //ASSERT Assert.False(result1); Assert.False(result2); Assert.False(result3); Assert.False(result4); Assert.Equal(count, await fixture.Context.LinkEntries.CountAsync()); }