示例#1
0
        public override async Task CreateWorksAsync()
        {
            Customer    customerSaved    = null;
            Room        roomSaved        = null;
            Reservation reservationSaved = null;

            var options = new DbContextOptionsBuilder <Project15Context>()
                          .UseInMemoryDatabase("db_reservation_test_create").Options;

            using (var db = new Project15Context(options));

            // act (for act, only use the repo, to test it)
            using (var db = new Project15Context(options))
            {
                var repo         = new ReservationRepository(db);
                var customerRepo = new CustomerRepository(db);
                var roomRepo     = new RoomRepository(db);

                //Create customer
                Customer customer = new Customer {
                    Name = "Axel", Address1 = "111 Address"
                };
                customer = await customerRepo.CreateAsync(customer);

                await customerRepo.SaveChangesAsync();

                // create room
                Room room = new Room {
                    Beds = 1, Cost = 50, RoomType = "Standard"
                };
                room = await roomRepo.CreateAsync(room);

                await roomRepo.SaveChangesAsync();

                Reservation eventCustomer = new Reservation
                {
                    CustomerId = customer.Id,
                    RoomId     = room.Id,
                    Paid       = true
                };
                reservationSaved = await repo.CreateAsync(eventCustomer);

                await repo.SaveChangesAsync();

                customerSaved = customer;
                roomSaved     = room;
            }

            // assert (for assert, once again use the context directly for verify.)
            using (var db = new Project15Context(options))
            {
                var         repo        = new ReservationRepository(db);
                Reservation reservation = AutoMapper.Mapper.Map <Reservations, Reservation>(db.Reservation.First(m => m.Paid == true));

                Assert.Equal(customerSaved.Id, reservation.CustomerId);
                Assert.Equal(roomSaved.Id, reservation.RoomId);
                Assert.True(reservation.Paid);
                Assert.NotEqual(0, reservation.Id);
            }
        }
示例#2
0
        public override async Task UpdateWorksAsync()
        {
            int         id = 0;
            Reservation reservationSaved = null;
            Customer    customerSaved    = null;
            Room        roomSaved        = null;

            var options = new DbContextOptionsBuilder <Project15Context>()
                          .UseInMemoryDatabase("db_reservation_test_getById").Options;

            using (var db = new Project15Context(options));

            // act (for act, only use the repo, to test it)
            using (var db = new Project15Context(options))
            {
                var repo         = new ReservationRepository(db);
                var customerRepo = new CustomerRepository(db);
                var roomRepo     = new RoomRepository(db);

                //Create customer
                Customer customer = new Customer {
                    Name = "Axel", Address1 = "111 Address"
                };
                customer = await customerRepo.CreateAsync(customer);

                await customerRepo.SaveChangesAsync();

                // Create room
                Room room = new Room {
                    Beds = 1, Cost = 50, RoomType = "Standard"
                };
                room = await roomRepo.CreateAsync(room);

                await roomRepo.SaveChangesAsync();

                // Create reservation
                Reservation eventCustomer = new Reservation
                {
                    CustomerId = customer.Id,
                    RoomId     = room.Id,
                    Paid       = true
                };
                reservationSaved = await repo.CreateAsync(eventCustomer);

                await repo.SaveChangesAsync();

                customerSaved = customer;
                roomSaved     = room;
                id            = reservationSaved.Id;
            }
            using (var db = new Project15Context(options))
            {
                var         repo        = new ReservationRepository(db);
                Reservation reservation = await repo.GetByIdAsync(id);

                Assert.NotEqual(0, reservation.Id);
                Assert.Equal(customerSaved.Id, reservation.CustomerId);
                Assert.Equal(roomSaved.Id, reservation.RoomId);
                Assert.True(reservation.Paid);

                reservation.Paid = false;

                await repo.UpdateAsync(reservation, id);

                Assert.False(reservation.Paid);
            }
        }
示例#3
0
        public override async Task GetAllWorksAsync()
        {
            List <Reservation> reservationList  = new List <Reservation>();
            Reservation        reservationSaved = null;
            Customer           customerSaved    = null;
            Room roomSaved = null;

            var options = new DbContextOptionsBuilder <Project15Context>()
                          .UseInMemoryDatabase("db_reservation_test_getall").Options;

            using (var db = new Project15Context(options));

            using (var db = new Project15Context(options))
            {
                var repo         = new ReservationRepository(db);
                var customerRepo = new CustomerRepository(db);
                var roomRepo     = new RoomRepository(db);

                //Create customer
                Customer customer = new Customer {
                    Name = "Axel", Address1 = "111 Address"
                };
                customer = await customerRepo.CreateAsync(customer);

                await customerRepo.SaveChangesAsync();

                // Create room
                Room room = new Room {
                    Beds = 1, Cost = 50, RoomType = "Standard"
                };
                room = await roomRepo.CreateAsync(room);

                await roomRepo.SaveChangesAsync();

                for (int i = 0; i < 5; i++)
                {
                    Reservation reservation = new Reservation
                    {
                        CustomerId = customer.Id,
                        RoomId     = room.Id,
                    };
                    reservationSaved = await repo.CreateAsync(reservation);

                    await repo.SaveChangesAsync();

                    reservationList.Add(reservationSaved);
                }

                roomSaved     = room;
                customerSaved = customer;
            }
            using (var db = new Project15Context(options))
            {
                var repo = new ReservationRepository(db);
                List <Reservation> list = (List <Reservation>) await repo.GetAllAsync();

                Assert.Equal(reservationList.Count, list.Count);

                for (int i = 0; i < 5; i++)
                {
                    Assert.Equal(reservationList[i].CustomerId, list[i].CustomerId);
                    Assert.Equal(reservationList[i].RoomId, list[i].RoomId);
                    Assert.NotEqual(0, list[i].Id);
                }
            }
        }