public async System.Threading.Tasks.Task GetAllNoDataAsync() { using (var stream = new MemoryStream()) { // General set up var mockTest = new Mock <ProjectSpeedy.Services.IServiceBase>(); var projectService = new ProjectSpeedy.Services.Project(mockTest.Object); // Creates the fake response await JsonSerializer.SerializeAsync(stream, new ProjectSpeedy.Models.CouchDb.View.ViewResult() { rows = new List <ProjectSpeedy.Models.CouchDb.View.ListItem>() }); stream.Position = 0; using var reader = new StreamReader(stream); string content = await reader.ReadToEndAsync(); HttpResponseMessage response = new HttpResponseMessage(); response.Content = new StringContent(content); mockTest.Setup(d => d.ViewGet("project", "projects", "projects", "", "")) .Returns(Task.FromResult(response.Content)); // Act var test = await projectService.GetAll(); // Assert Assert.IsInstanceOf <ProjectSpeedy.Models.Projects.ProjectsView>(test); Assert.IsNotNull(test.rows); Assert.AreEqual(0, test.rows.Count); } }
public async System.Threading.Tasks.Task GetAllProjects() { // Arrange var mockTest = new Mock <ProjectSpeedy.Services.IServiceBase>(); var projectService = new ProjectSpeedy.Services.Project(mockTest.Object); // Creates the fake response string content = JsonSerializer.Serialize(new ProjectSpeedy.Models.CouchDb.View.ViewResult() { total_rows = 1, offset = 0, rows = new List <ProjectSpeedy.Models.CouchDb.View.ListItem>() { new ProjectSpeedy.Models.CouchDb.View.ListItem() { id = "ProjectId", value = new ProjectSpeedy.Models.CouchDb.View.ListItemValue() { id = "project:e5273e69704d8c4ee3f8b50c6500d053", name = "Project Name" } } } }); HttpResponseMessage response = new HttpResponseMessage(); response.Content = new StringContent(content); mockTest.Setup(d => d.ViewGet("project", "projects", "projects", "", "")) .Returns(Task.FromResult(response.Content)); // Act var test = await projectService.GetAll(); // Assert Assert.IsInstanceOf <ProjectSpeedy.Models.Projects.ProjectsView>(test); Assert.IsNotNull(test.rows); Assert.AreEqual(1, test.rows.Count); }