public async Task AddCharacterStringEntryVoteAsync_DoesntAddStringVote_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 stringEntry = new CharacterStringEntry { User = user, Type = CharacterStringEntryType.Tips, Text = "" }; character1.StringEntries.Add(stringEntry); fixture.Context.Characters.Add(character1); fixture.Context.Users.Add(user); fixture.Context.SaveChanges(); var count = await fixture.Context.StringEntries.SelectMany(se => se.Votes).CountAsync(); //ACT var result1 = await service.AddCharacterStringEntryVoteAsync(CharacterStringEntryType.Tips, user.Id, character1.Id, 999); var result2 = await service.AddCharacterStringEntryVoteAsync(CharacterStringEntryType.Tips, user.Id, 999, stringEntry.Id); var result3 = await service.AddCharacterStringEntryVoteAsync(CharacterStringEntryType.Tips, Guid.NewGuid().ToString(), character1.Id, stringEntry.Id); //ASSERT Assert.False(result1); Assert.False(result2); Assert.False(result3); Assert.Equal(count, await fixture.Context.StringEntries.SelectMany(se => se.Votes).CountAsync()); }