Beispiel #1
0
        public async Task AddReplaceCharacterTagEntryAsync_DoesntAddTag_WhenRequiredEntitiesDontExist()
        {
            //ARRANGE
            var tagName = "testtag";
            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 = tagName, Type = TagType.UserGenerated
            };

            fixture.Context.Characters.Add(character1);
            fixture.Context.Users.Add(user);
            fixture.Context.Tags.Add(tag);
            fixture.Context.SaveChanges();
            var count = await fixture.Context.TagEntries.CountAsync();

            mockTagService.Setup(mts => mts.GetOrCreateTagAsync(tagName)).ReturnsAsync(tag);

            //ACT
            var result1 = await service.AddReplaceCharacterTagEntryAsync(CharacterTagEntryType.Main, user.Id, 999, tagName);

            var result2 = await service.AddReplaceCharacterTagEntryAsync(CharacterTagEntryType.Main, Guid.NewGuid().ToString(), character1.Id, tagName);


            //ASSERT
            Assert.False(result1);
            Assert.False(result2);
            Assert.Equal(count, await fixture.Context.TagEntries.CountAsync());
        }