public void CreateNewSample_CalledWithRelevantData_ShouldCreateSample() { // Arrange var db = this.GetDatabase(); var newSampleData = new NewSampleBidingModel() { Name = "New Sample", Description = "Test Test Test", Tags = "tag1", Groups = "group1", NutrientAgarPlates = "nutrient1", ImgUrls = new List <string>() { "some-image.jpg", "another-image.jpg", "test-image.jpg" } }; User logedInUser = new User() { Name = "Test User", Email = "*****@*****.**" }; var tag1 = new Tag() { Name = "tag1" }; var group = new Group() { Name = "group1" }; var nutrint = new NutrientAgarPlate() { Name = "nutrient1" }; db.Tags.AddRange(tag1); db.Groups.Add(group); db.NutrientAgarPlates.Add(nutrint); db.SaveChanges(); var service = new SampleService(db, null); // Act service.CreateNewSample(newSampleData, logedInUser); var cretedNewSample = db.Samples.First(); // Assert Assert.NotNull(cretedNewSample); Assert.IsType <Sample>(cretedNewSample); var sampleName = cretedNewSample.Name; Assert.Equal("New Sample", sampleName); }