public async Task ReturnCorrectTypeOfInstance() { //Arrange var options = TestUtilities.GetOptions(nameof(ReturnCorrectTypeOfInstance)); var mapper = new CocktailDtoMapper(); var mapperMock = new Mock <IDtoMapper <Cocktail, CocktailDto> >(); var barMapperMock = new Mock <IDtoMapper <Bar, BarDto> >(); var cocktailDetailsMapperMock = new Mock <IDtoMapper <Cocktail, DetailsCocktailDto> >(); var ingredientServiceMock = new Mock <IIngredientService>(); var cocktailIngredientServiceMock = new Mock <ICocktailIngredientService>(); var guid = Guid.NewGuid(); var cocktail = new Cocktail { Id = guid, Name = "testCocktail", Info = "testCocktailInfo", }; var entityDto = new CocktailDto { Id = guid, Name = "testCocktail", Info = "testInfo", }; var bar = new Bar { Id = Guid.NewGuid(), Name = "testBar", Info = "testInfo", Address = "testAddress", ImagePath = "testImagePath", Phone = "111-333-666" }; var barCocktail = new BarCocktail { Bar = bar, Cocktail = cocktail }; var list = new List <string>() { "testBar" }; using (var actContext = new CWContext(options)) { //Act await actContext.Bars.AddAsync(bar); await actContext.Cocktails.AddAsync(cocktail); await actContext.BarCocktails.AddAsync(barCocktail); await actContext.SaveChangesAsync(); } using (var assertContext = new CWContext(options)) { //Act & Assert var sut = new CocktailService(assertContext, mapperMock.Object, barMapperMock.Object, cocktailDetailsMapperMock.Object, ingredientServiceMock.Object, cocktailIngredientServiceMock.Object); var result = await sut.AddBarsAsync(entityDto, list); Assert.AreEqual(1, await assertContext.BarCocktails.CountAsync()); } }