示例#1
0
        public async void GetRaspunsuri_GetSectiiCuObservatori_ReturneazaRaspunsuriOrdonateDupaDataModificareDesc(int page, int pageSize, bool urgent)
        {
            // ARRANGE
            const int    idONG = 1; // TODO set the idONG in token and use it as a param for the test
            RaspunsModel first, last;

            using (var context = new VoteMonitorContext(_raspunsuriFixture.ContextOptions))
            {
                var sectiiCuObservatori = await context.Answers
                                          .Where(x => x.Observer.IdNgo == idONG && x.OptionAnswered.Flagged == urgent)
                                          .Select(y =>
                                                  new { IdObservator = y.IdObserver, Observator = y.Observer.Name, IdSectie = y.IdPollingStation, Sectie = y.PollingStation.AdministrativeTerritoryCode, DataUltimeiModificari = y.LastModified }
                                                  )
                                          .Distinct()
                                          .OrderByDescending(x => x.DataUltimeiModificari)
                                          .Skip((page - 1) * pageSize)
                                          .Take(pageSize)
                                          .ToListAsync();

                var sectieFirst = sectiiCuObservatori.First();
                var sectieLast  = sectiiCuObservatori.Last();
                first = new RaspunsModel {
                    IdObservator = sectieFirst.IdObservator, IdSectie = sectieFirst.IdSectie
                };
                last = new RaspunsModel {
                    IdObservator = sectieFirst.IdObservator, IdSectie = sectieLast.IdSectie
                };
            }

            // ACT
            var response = await _client.GetAsync($"api/v1/raspunsuri?page={page}&pagesize={pageSize}&urgent={urgent}");

            // ASSERT
            response.EnsureSuccessStatusCode();
            var model = JsonConvert.DeserializeObject <ApiListResponse <RaspunsModel> >(await response.Content.ReadAsStringAsync());

            Assert.NotNull(model);
            Assert.NotNull(model.Data);
            var firstModel = model.Data.First();
            var lastModel  = model.Data.Last();

            Assert.Equal(first.IdObservator, firstModel.IdObservator);
            Assert.Equal(first.IdSectie, firstModel.IdSectie);
            Assert.Equal(last.IdObservator, firstModel.IdObservator);
            Assert.Equal(last.IdObservator, firstModel.IdObservator);
        }
        public async void GetRaspunsuri_GetSectiiCuObservatori_ReturneazaRaspunsuriOrdonateDupaDataModificareDesc(int page, int pageSize, bool urgent)
        {
            // ARRANGE
            const int    idONG = 1; // TODO set the idONG in token and use it as a param for the test
            RaspunsModel first, last;

            using (var context = new OngContext(_raspunsuriFixture.ContextOptions))
            {
                var sectiiCuObservatori = await context.Raspuns
                                          .Where(x => x.IdObservatorNavigation.IdOng == idONG && x.IdRaspunsDisponibilNavigation.RaspunsCuFlag == urgent)
                                          .Select(y =>
                                                  new { y.IdObservator, Observator = y.IdObservatorNavigation.NumeIntreg, IdSectie = y.IdSectieDeVotare, Sectie = y.IdSectieDeVotareNavigation.DenumireUat, y.DataUltimeiModificari }
                                                  )
                                          .Distinct()
                                          .OrderByDescending(x => x.DataUltimeiModificari)
                                          .Skip((page - 1) * pageSize)
                                          .Take(pageSize)
                                          .ToListAsync();

                var sectieFirst = sectiiCuObservatori.First();
                var sectieLast  = sectiiCuObservatori.Last();
                first = new RaspunsModel {
                    IdObservator = sectieFirst.IdObservator, IdSectie = sectieFirst.IdSectie
                };
                last = new RaspunsModel {
                    IdObservator = sectieFirst.IdObservator, IdSectie = sectieLast.IdSectie
                };
            }

            // ACT
            var response = await _client.GetAsync($"api/v1/raspunsuri?page={page}&pagesize={pageSize}&urgent={urgent}");

            // ASSERT
            response.EnsureSuccessStatusCode();
            var model = JsonConvert.DeserializeObject <ApiListResponse <RaspunsModel> >(await response.Content.ReadAsStringAsync());

            Assert.NotNull(model);
            Assert.NotNull(model.Data);
            var firstModel = model.Data.First();
            var lastModel  = model.Data.Last();

            Assert.Equal(first.IdObservator, firstModel.IdObservator);
            Assert.Equal(first.IdSectie, firstModel.IdSectie);
            Assert.Equal(last.IdObservator, firstModel.IdObservator);
            Assert.Equal(last.IdObservator, firstModel.IdObservator);
        }