예제 #1
0
        public async void Can_Add_Wagon()
        {
            // Arrange
            var chairs = new List <TrainApp.Data.Entities.Chair>();

            for (int i = 0; i < 2; i++)
            {
                chairs.Add(new TrainApp.Data.Entities.Chair {
                    NearWindow = false, Number = i, Reserved = false
                });
            }
            var testWagon = new TrainApp.Data.Entities.Wagon
            {
                Chairs = chairs
            };

            // Act
            using (var context = new TrainContext(_contextOptions))
            {
                var repository = new WagonRepository(context);
                var wagon      = await repository.AddAsync(testWagon);
            }

            // Assert
            using (var context = new TrainContext(_contextOptions))
            {
                var wagon = await context.Wagons.Include(c => c.Chairs).FirstOrDefaultAsync(x => x.WagonId == testWagon.WagonId);

                Assert.Equal(testWagon.Chairs.Count, wagon.Chairs.Count);
                Assert.Equal(testWagon.Chairs[0].Number, wagon.Chairs[0].Number);
            }
        }
예제 #2
0
        public void GetAllWagons()
        {
            EmptyLists();

            wagonRepository = new WagonRepository(context);

            Assert.Equal(3, wagonRepository.GetAllWagons().Count);
        }
예제 #3
0
        public void UpdateWagon()
        {
            EmptyLists();

            wagonRepository = new WagonRepository(context);
            Wagon wagon = new Wagon(1, "naam", 13, 25);

            Assert.True(wagonRepository.UpdateWagon(wagon));
        }
예제 #4
0
        public void CreateWagon()
        {
            EmptyLists();

            wagonRepository = new WagonRepository(context);
            Wagon wagon = new Wagon(4, "naam", 23, 45);

            Assert.Equal(4, wagonRepository.CreateWagon(wagon));
        }
예제 #5
0
        public void GetWagonbyId()
        {
            EmptyLists();

            wagonRepository = new WagonRepository(context);
            Wagon wagon = new Wagon(1, "naam", 13, 25);

            Assert.Equal(wagon.Id, wagonRepository.GetWagonbyId(1).Id);
            Assert.Equal(13, wagon.Stoelaantal_Klasse1);
        }
예제 #6
0
        public async void Can_Update_Wagon()
        {
            // Arrange
            var chairs = new List <TrainApp.Data.Entities.Chair>
            {
                new TrainApp.Data.Entities.Chair {
                    NearWindow = false, Number = 0, Reserved = false
                },
                new TrainApp.Data.Entities.Chair {
                    NearWindow = false, Number = 1, Reserved = false
                }
            };

            var testWagon = new TrainApp.Data.Entities.Wagon
            {
                Chairs = chairs
            };

            using (var context = new TrainContext(_contextOptions))
            {
                await context.Wagons.AddAsync(testWagon);

                await context.SaveChangesAsync();
            }

            var updatedWagon = testWagon;

            updatedWagon.Chairs[1].NearWindow = true;

            // Act
            using (var context = new TrainContext(_contextOptions))
            {
                var repository = new WagonRepository(context);
                var wagon      = await repository.UpdateAsync(updatedWagon);
            }

            // Assert
            using (var context = new TrainContext(_contextOptions))
            {
                var wagon = await context.Wagons.Include(c => c.Chairs).FirstOrDefaultAsync(x => x.WagonId == testWagon.WagonId);

                Assert.Equal(testWagon.Chairs.Count, wagon.Chairs.Count);
                Assert.Equal(testWagon.Chairs[1].Number, wagon.Chairs[1].Number);
                Assert.True(wagon.Chairs[1].NearWindow);
            }
        }
예제 #7
0
 public WagonController(IConfiguration configuration)
 {
     context   = new MSSQLWagonContext(configuration.GetConnectionString("DefaultConnection"));
     repo      = new WagonRepository(context);
     converter = new WagonViewModelConverter();
 }