public async Task GetCoursesWithExpansionTest() { var item = Factories.SchoolCourseFactory(Factories.SchoolFactory(), Factories.CourseFactory()); using var srv = new TestServer(TestHostBuilder <Startup, UnigrationTestStartup>() .ConfigureTestServices(x => { ExecuteOnContext <DatabaseContext>(x, db => { _ = db.Courses.Add(item.Course); _ = db.Schools.Add(item.School); _ = db.SchoolCourses.Add(item); }); }) ); var client = srv.CreateClient(); GenerateAuthHeader(client, GenerateTestToken()); var resp = await client.GetStringAsync($"odata/v1/{nameof(Course)}s?$count=true&$expand={nameof(SchoolCourse)}s"); TestContext.WriteLine($"Server Reponse: {resp}"); Assert.IsFalse(resp.ToLower().Contains("updatedby")); var envelope = JsonConvert.DeserializeObject <ODataEnvelope <Course> >(resp); Assert.AreEqual(item.Course.Title, envelope.Value.First().Title); Assert.AreEqual(item.Id, envelope.Value.First().SchoolCourses.First().Id); }
public async Task GetSchoolsTest() { var School = Factories.SchoolFactory(); using var srv = new TestServer(TestHostBuilder <Startup, UnigrationTestStartup>() .ConfigureTestServices(x => { ExecuteOnContext <DatabaseContext>(x, db => { _ = db.Schools.Add(School); }); }) ); var client = srv.CreateClient(); GenerateAuthHeader(client, GenerateTestToken()); var resp = await client.GetStringAsync($"odata/v1/{nameof(School)}s"); TestContext.WriteLine($"Server Reponse: {resp}"); Assert.IsFalse(resp.ToLower().Contains("updatedby")); var envelope = JsonConvert.DeserializeObject <ODataEnvelope <School> >(resp); Assert.AreEqual(School.Name, envelope.Value.First().Name); }
public async Task GetGroupBySchoolsTest() { var School = Factories.SchoolFactory(); using var srv = new TestServer(TestHostBuilder <Startup, UnigrationTestStartup>() .ConfigureTestServices(x => { ExecuteOnContext <DatabaseContext>(x, db => { _ = db.Schools.Add(School); }); }) ); var client = srv.CreateClient(); GenerateAuthHeader(client, GenerateTestToken()); var resp = await client.GetStringAsync($"odata/v1/{nameof(School)}s?$apply=groupby(({nameof(School.Name)},{nameof(School.Id)}),aggregate(id with countdistinct as total))"); TestContext.WriteLine($"Server Reponse: {resp}"); Assert.IsFalse(resp.ToLower().Contains("updatedby")); StringAssert.Contains(resp, School.Id.ToString()); StringAssert.Contains(resp, School.Name); }