Пример #1
0
        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());
        }
Пример #2
0
        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());
        }