public async Task RunApprovedAsyncMethod(string submissionNumber, string userUuid) { // preparation var diagnosisRepo = new Mock <IDiagnosisRepository>(); var keyModel = new TemporaryExposureKeyModel() { id = "id123" }; var model = new DiagnosisModel() { SubmissionNumber = submissionNumber, UserUuid = userUuid, Keys = new[] { keyModel } }; diagnosisRepo.Setup(_ => _.GetAsync(It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(model); var tekRepo = new Mock <ITemporaryExposureKeyRepository>(); var logger = new Mock.LoggerMock <Covid19Radar.Api.External.DiagnosisApi>(); var diagnosisApi = new Covid19Radar.Api.External.DiagnosisApi(diagnosisRepo.Object, tekRepo.Object, logger); var context = new Mock.HttpContextMock(); tekRepo.Setup(_ => _.UpsertAsync(It.IsAny <TemporaryExposureKeyModel>())) .Verifiable(); // action await diagnosisApi.RunApprovedAsync(context.Request, submissionNumber, userUuid); // assert }