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); }
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))); }
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); } }