Beispiel #1
0
        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());
        }
Beispiel #2
0
        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());
        }