public async Task ImageCreationWorksCorrectly() { var list = new List <Image>() { new Image() { Id = "first", Extension = "png", }, new Image() { Id = "second", Extension = "jpg", }, }; var mockRepo = new Mock <IRepository <Image> >(); mockRepo.Setup(x => x.AddAsync(It.IsAny <Image>())).Callback((Image image) => list.Add(image)); var imageService = new ImagesService(mockRepo.Object); using (var stream = File.OpenRead(ImageName)) { var file = new FormFile(stream, 0, stream.Length, null, Path.GetFileName(stream.Name)) { Headers = new HeaderDictionary(), ContentType = ImageContentType, }; await imageService.CreateAsync(file, this.imageFolder); } var directory = new DirectoryInfo(this.imageFolder); var files = directory.GetFiles(); foreach (var file in files) { file.Delete(); } Assert.Equal(3, list.Count); }