Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }