コード例 #1
0
ファイル: StoppRepository.cs プロジェクト: Sportspaul/NOR_WAY
        public async Task <List <Stopp> > FinnMuligeSluttStopp(StoppModel sluttStopp)
        {
            try
            {
                Stopp stopp = await _db.Stopp.FirstOrDefaultAsync(s => s.Navn == sluttStopp.Navn);

                List <Ruter> ruter = await _hjelp.FinnRuteneTilStopp(stopp);

                List <Stopp> stoppListe = new List <Stopp>();
                foreach (Ruter rute in ruter)
                {
                    int stoppNummer = await _hjelp.FinnStoppNummer(stopp, rute);

                    List <Stopp> tempListe = await _db.RuteStopp
                                             .Where(rs => rs.StoppNummer > stoppNummer && rs.Rute == rute)
                                             .Select(rs => rs.Stopp).ToListAsync();

                    stoppListe.AddRange(tempListe);
                }

                return(stoppListe);
            }
            catch (Exception e)
            {
                _log.LogInformation(e.Message);
                return(null);
            }
        }
コード例 #2
0
        public async Task FinnMuligeSluttStopp_TomListe()
        {
            // Arrange
            StoppModel   StoppModel    = HentInnStopp();
            List <Stopp> tomStoppListe = new List <Stopp>();

            mockRepo.Setup(b => b.FinnMuligeSluttStopp(StoppModel)).ReturnsAsync(tomStoppListe);

            // Act
            var resultat = await stoppController.FinnMuligeSluttStopp(StoppModel) as NotFoundObjectResult;

            // Assert
            Assert.Equal($"Ingen mulige SluttStopp ble funnet for StartStopp: {StoppModel.Navn }", resultat.Value);
        }
コード例 #3
0
        public async Task <ActionResult> FinnMuligeStartStopp(StoppModel sluttStopp)
        {
            if (ModelState.IsValid)
            {
                List <Stopp> stoppListe = await _db.FinnMuligeStartStopp(sluttStopp);

                if (stoppListe.IsNullOrEmpty())
                {
                    melding = $"Ingen mulige StartStopp ble funnet for SluttStopp: {sluttStopp.Navn}";
                    _log.LogWarning(melding);
                    return(NotFound(melding));
                }
                return(Ok(stoppListe)); // returnerer alltid OK, null ved tom DB
            }
            _log.LogWarning(ugyldigValidering);
            return(BadRequest(ugyldigValidering));
        }
コード例 #4
0
        public async Task FinnMuligeSluttStopp_RegEx()
        {
            // Arrange
            StoppModel   StoppModel      = HentUgyldigInnStopp();
            List <Stopp> forventedeStopp = HentStoppListe();

            mockRepo.Setup(b => b.FinnMuligeSluttStopp(StoppModel)).ReturnsAsync(forventedeStopp);
            stoppController.ModelState.AddModelError("StartStopp", "Feil i inputvalideringen på server");
            stoppController.ModelState.AddModelError("SluttStopp", "Feil i inputvalideringen på server");
            stoppController.ModelState.AddModelError("Dato", "Feil i inputvalideringen på server");
            stoppController.ModelState.AddModelError("Tidspunkt", "Feil i inputvalideringen på server");

            // Act
            var resultat = await stoppController.FinnMuligeSluttStopp(StoppModel) as BadRequestObjectResult;

            // Assert
            Assert.Equal("Feil i inputvalideringen på server", resultat.Value);
        }
コード例 #5
0
        public async Task FinnMuligStartStopp_RiktigeVerdier()
        {
            // Arrange
            StoppModel   StoppModel      = HentUgyldigInnStopp();
            List <Stopp> forventedeStopp = HentStoppListe();

            mockRepo.Setup(b => b.FinnMuligeStartStopp(StoppModel)).ReturnsAsync(HentStoppListe());

            // Act
            var resultat = await stoppController.FinnMuligeStartStopp(StoppModel) as OkObjectResult;

            List <Stopp> faktiskeStopp = (List <Stopp>)resultat.Value;

            // Assert
            Assert.Equal(forventedeStopp.Count, faktiskeStopp.Count);   // Tester om listene er like lange
            // Tester om alle verdiene er like i alle elementeneƒ
            for (int i = 0; i < forventedeStopp.Count; i++)
            {
                Assert.Equal(forventedeStopp[i].Id, faktiskeStopp[i].Id);
                Assert.Equal(forventedeStopp[i].Navn, faktiskeStopp[i].Navn);
            }
        }
コード例 #6
0
        public async Task FinnMuligSluttStopp_RiktigeVerdier()
        {
            // Arrange
            List <Stopp> forventet  = HentStoppListe();
            StoppModel   StoppModel = new StoppModel {
                Navn = "Bergen"
            };

            mockRepo.Setup(b => b.FinnMuligeSluttStopp(StoppModel)).ReturnsAsync(HentStoppListe());

            // Act
            var resultat = await stoppController.FinnMuligeSluttStopp(StoppModel) as OkObjectResult;

            List <Stopp> faktisk = (List <Stopp>)resultat.Value;

            // Assert
            Assert.Equal(forventet.Count, faktisk.Count);   // Tester om listene er like lange
            // Tester om alle verdiene er like i alle elementene
            for (int i = 0; i < forventet.Count; i++)
            {
                Assert.Equal(forventet[i].Id, faktisk[i].Id);
                Assert.Equal(forventet[i].Navn, faktisk[i].Navn);
            }
        }