public async Task RemoveCharacterTagEntryAsync_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 tag = new Tag { Name = "test", Type = TagType.System }; var tagEntry = new CharacterTagEntry { User = user, Type = CharacterTagEntryType.Main, LinkedTag = tag }; character1.TagEntries.Add(tagEntry); fixture.Context.Characters.Add(character1); fixture.Context.Users.Add(user); fixture.Context.SaveChanges(); var count = await fixture.Context.TagEntries.CountAsync(); //ACT var result1 = await service.RemoveCharacterTagEntryAsync(CharacterTagEntryType.Main, user.Id, character1.Id, tag.Id); //ASSERT Assert.True(result1); Assert.Equal(count - 1, await fixture.Context.TagEntries.CountAsync()); }
public async Task RemoveCharacterTagEntryAsync_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 tag = new Tag { Name = "test", Type = TagType.System }; var tagEntry = new CharacterTagEntry { User = user, Type = CharacterTagEntryType.Main, LinkedTag = tag }; character1.TagEntries.Add(tagEntry); fixture.Context.Characters.Add(character1); fixture.Context.Users.Add(user); fixture.Context.SaveChanges(); var count = await fixture.Context.TagEntries.CountAsync(); //ACT var result1 = await service.RemoveCharacterTagEntryAsync(CharacterTagEntryType.Main, user.Id, character1.Id, 999); var result2 = await service.RemoveCharacterTagEntryAsync(CharacterTagEntryType.Main, user.Id, 999, tag.Id); var result3 = await service.RemoveCharacterTagEntryAsync(CharacterTagEntryType.Main, Guid.NewGuid().ToString(), character1.Id, tag.Id); //ASSERT Assert.False(result1); Assert.False(result2); Assert.False(result3); Assert.Equal(count, await fixture.Context.TagEntries.CountAsync()); }