public async Task TestGetStatusAsync() { IAttachmentAppService factory(string id) { var appService = Substitute.For <IAttachmentAppService>(); appService.GetByIdAsync(id) .ReturnsForAnyArgs(new AttachmentItem { Id = id, Status = UploadStatus.Uploaded }); return(appService); }; var target = new AttachmentController(factory, Substitute.For <IAttachmentStoreService>(), Substitute.For <IMemoryCache>()); var result = await target.GetStatusAsync(Guid.NewGuid().ToString("N")); var data = result.Value; data.Should().Be(UploadStatus.Uploaded); }