public async Task GetNotApprovedAsyncMethod() { // preparation var models = new List <DiagnosisModel>(); models.Add(new DiagnosisModel()); var cosmos = new Mock <ICosmos>(); // repeat 2 var feed = new Mock <FeedIterator <DiagnosisModel> >(); feed.SetupSequence(_ => _.HasMoreResults) .Returns(true) .Returns(true) .Returns(false); var feedResponse = new Mock <FeedResponse <DiagnosisModel> >(); feedResponse.Setup(_ => _.Resource).Returns(models); feed.Setup(_ => _.ReadNextAsync(It.IsAny <CancellationToken>())) .ReturnsAsync(feedResponse.Object); cosmos.Setup(_ => _.Diagnosis.GetItemQueryIterator <DiagnosisModel> (It.IsAny <QueryDefinition>(), It.IsAny <string>(), It.IsAny <QueryRequestOptions>())) .Returns(feed.Object) .Verifiable(); var logger = new Mock.LoggerMock <CosmosDiagnosisRepository>(); var instance = new CosmosDiagnosisRepository(cosmos.Object, logger); // action var result = await instance.GetNotApprovedAsync(); // Assert CollectionAssert.AreEqual(models.Concat(models).ToArray(), result); }
public async Task DeleteAsyncMethod(string userUuid) { // preparation var model = new DiagnosisModel(); var itemResponse = new Mock <ItemResponse <DiagnosisModel> >(); itemResponse.Setup(_ => _.Resource).Returns(model); var cosmos = new Mock <ICosmos>(); cosmos.Setup(_ => _.Diagnosis.DeleteItemAsync <DiagnosisModel>(It.IsAny <string>(), It.IsAny <PartitionKey>(), It.IsAny <ItemRequestOptions>(), It.IsAny <CancellationToken>())) .ReturnsAsync(itemResponse.Object) .Verifiable(); var logger = new Mock.LoggerMock <CosmosDiagnosisRepository>(); var user = new Mock <IUser>(); user.Setup(_ => _.UserUuid).Returns(userUuid); var instance = new CosmosDiagnosisRepository(cosmos.Object, logger); // action await instance.DeleteAsync(user.Object); // Assert }
public async Task SubmitDiagnosisAsyncMethod() { // preparation string SubmissionNumber = ""; DateTimeOffset timestamp = DateTimeOffset.UtcNow; string UserUuid = ""; TemporaryExposureKeyModel[] keys = new TemporaryExposureKeyModel[] { new TemporaryExposureKeyModel() }; var itemResponse = new Mock <ItemResponse <DiagnosisModel> >(); var cosmos = new Mock <ICosmos>(); cosmos.Setup(_ => _.Diagnosis.UpsertItemAsync (It.IsAny <DiagnosisModel>(), It.IsAny <PartitionKey?>(), It.IsAny <ItemRequestOptions>(), It.IsAny <CancellationToken>())) .Callback <DiagnosisModel, PartitionKey?, ItemRequestOptions, CancellationToken>((m, p, i, c) => { itemResponse.Setup(_ => _.Resource).Returns(m); }) .ReturnsAsync(itemResponse.Object) .Verifiable(); var logger = new Mock.LoggerMock <CosmosDiagnosisRepository>(); var instance = new CosmosDiagnosisRepository(cosmos.Object, logger); // action var result = await instance.SubmitDiagnosisAsync(SubmissionNumber, timestamp, UserUuid, keys); // Assert Assert.AreEqual(SubmissionNumber, result.SubmissionNumber); Assert.AreEqual(timestamp.ToUnixTimeSeconds(), result.Timestamp); Assert.AreEqual(UserUuid, result.UserUuid); Assert.AreEqual(UserUuid, result.id); CollectionAssert.AreEqual(keys, result.Keys); }
public void CreateMethod() { // preparation var cosmos = new Mock <ICosmos>(); var logger = new Mock.LoggerMock <CosmosDiagnosisRepository>(); // action var instance = new CosmosDiagnosisRepository(cosmos.Object, logger); }
public async Task GetAsyncMethod(string submissionNumber, string userUuid) { // preparation var model = new DiagnosisModel(); var itemResponse = new Mock <ItemResponse <DiagnosisModel> >(); itemResponse.Setup(_ => _.Resource).Returns(model); var cosmos = new Mock <ICosmos>(); cosmos.Setup(_ => _.Diagnosis.ReadItemAsync <DiagnosisModel>(It.IsAny <string>(), It.IsAny <PartitionKey>(), It.IsAny <ItemRequestOptions>(), It.IsAny <CancellationToken>())) .ReturnsAsync(itemResponse.Object) .Verifiable(); var logger = new Mock.LoggerMock <CosmosDiagnosisRepository>(); var instance = new CosmosDiagnosisRepository(cosmos.Object, logger); // action var result = await instance.GetAsync(submissionNumber, userUuid); // Assert Assert.AreEqual(model, result); }