public static async Task <IActionResult> GetClassByIdUT( [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "UT/Class/{classId}")] HttpRequest req, [CosmosDB(ConnectionStringSetting = "cosmos-bl-tutorial-serverless")] DocumentClient documentClient, string classId, ILogger log) { try { var crudService = new CRUDService(new ClassRepository(documentClient)); Dictionary <string, string> pk = null; // new Dictionary<string, string> { { "ClassCode", "test-class-code" } }; var classById = await crudService.GetClassById(classId, pk); return(new OkObjectResult(classById)); } catch (Exception e) { return(new BadRequestObjectResult(e.Message)); } }
public async Task GetClassByIdExists_ReturnClass(string classId) { // Arrange var repo = new Mock <IDocumentDBRepository <Class> >(); IEnumerable <Class> classes = new List <Class> { { new Class() { Id = "class-1", Description = "abcd", ClassCode = "test-class-1" } }, { new Class() { Id = "class-2", Description = "xyz0", ClassCode = "test-class-2" } } }; var classData = classes.Where(o => o.Id == classId).FirstOrDefault(); Dictionary <string, string> pk = null; repo.Setup(c => c.GetByIdAsync( It.IsAny <string>(), It.IsAny <Dictionary <string, string> >() )).Returns( Task.FromResult(classData) ); var svc = new CRUDService(repo.Object); // Act var classById = await svc.GetClassById(classId, pk); var actual = classById; // Assert Assert.Equal(classData.Description, actual.Description); Assert.Equal(classData.ClassCode, actual.ClassCode); }