Exemple #1
0
        public async Task CreateAsync_given_character_adds_it()
        {
            var entity  = default(Character);
            var context = new Mock <IFuturamaContext>();

            context.Setup(c => c.Characters.Add(It.IsAny <Character>())).Callback <Character>(t => entity = t);

            using (var repository = new EntityFrameworkCharacterRepository(context.Object))
            {
                var character = new CharacterCreateDTO
                {
                    ActorId = 1,
                    Name    = "Name",
                    Species = "Species",
                    Planet  = "Planet",
                    Image   = "Image"
                };
                await repository.CreateAsync(character);
            }

            Assert.Equal(1, entity.ActorId);
            Assert.Equal("Name", entity.Name);
            Assert.Equal("Species", entity.Species);
            Assert.Equal("Planet", entity.Planet);
            Assert.Equal("Image", entity.Image);
        }
Exemple #2
0
        public async Task Create_given_character_calls_SaveChangesAsync()
        {
            var context = new Mock <IFuturamaContext>();

            context.Setup(c => c.Characters.Add(It.IsAny <Character>()));

            using (var repository = new EntityFrameworkCharacterRepository(context.Object))
            {
                var character = new CharacterCreateDTO
                {
                    Name    = "Name",
                    Species = "Species",
                };
                await repository.CreateAsync(character);
            }

            context.Verify(c => c.SaveChangesAsync(default(CancellationToken)));
        }
Exemple #3
0
        public async Task Create_given_character_returns_new_Id()
        {
            var entity = default(Character);

            var context = new Mock <IFuturamaContext>();

            context.Setup(c => c.Characters.Add(It.IsAny <Character>()))
            .Callback <Character>(t => entity = t);
            context.Setup(c => c.SaveChangesAsync(default(CancellationToken)))
            .Returns(Task.FromResult(0))
            .Callback(() => entity.Id = 42);

            using (var repository = new EntityFrameworkCharacterRepository(context.Object))
            {
                var character = new CharacterCreateDTO
                {
                    Name    = "Name",
                    Species = "Species",
                };
                var id = await repository.CreateAsync(character);

                Assert.Equal(42, id);
            }
        }