public override async Task CreateWorksAsync() { Room roomSaved = null; // arrange (use the context directly - we assume that works) var options = new DbContextOptionsBuilder <Project15Context>() .UseInMemoryDatabase("db_room_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 RoomRepository(db); //Create customer Room room = new Room { Beds = 1, Cost = 50, RoomType = "Standard" }; roomSaved = await repo.CreateAsync(room); await repo.SaveChangesAsync(); } // assert (for assert, once again use the context directly for verify.) using (var db = new Project15Context(options)) { var repo = new RoomRepository(db); Room room = Mapper.Map <Rooms, Room>(db.Rooms.First(m => m.RoomType == "Standard")); Assert.NotEqual(0, room.Id); // should get some generated ID Assert.Equal(roomSaved.Id, room.Id); Assert.Equal(1, room.Beds); Assert.Equal(50, room.Cost); Assert.Equal("Standard", room.RoomType); } }
public override async Task CreateWorksAsync() { Event EventSaved = null; // arrange (use the context directly - we assume that works) var options = new DbContextOptionsBuilder <Project15Context>() .UseInMemoryDatabase("db_event_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 EventRepository(db); //Create Event Event Event = new Event { Name = "Jazz Fest", Type = "Music", Cost = 40 }; EventSaved = await repo.CreateAsync(Event); await repo.SaveChangesAsync(); } // assert (for assert, once again use the context directly for verify.) using (var db = new Project15Context(options)) { var repo = new EventRepository(db); Event Event = Mapper.Map <Events, Event>(db.Events.First(m => m.Name == "Jazz Fest")); Assert.NotEqual(0, Event.Id); // should get some generated ID Assert.Equal(EventSaved.Id, Event.Id); Assert.Equal("Jazz Fest", Event.Name); Assert.Equal("Music", Event.Type); Assert.Equal(40, Event.Cost); } }
public override async Task DeleteWorksAsync() { int id = 0; Customer customerSaved = null; Event EventSaved = null; EventCustomer eventCustomerSaved = null; // arrange (use the context directly - we assume that works) var options = new DbContextOptionsBuilder <Project15Context>() .UseInMemoryDatabase("db_eventcustomer_test_delete_2").Options; using (var db = new Project15Context(options)); // act (for act, only use the repo, to test it) using (var db = new Project15Context(options)) { var customerRepo = new CustomerRepository(db); var eventRepo = new EventRepository(db); var repo = new EventCustomerRepository(db); //Create customer Customer customer = new Customer { Name = "Axel", Address1 = "111 Address" }; customer = await customerRepo.CreateAsync(customer); await customerRepo.SaveChangesAsync(); Event Event = new Event { Name = "Jazz Fest", Type = "Music", Cost = 40 }; Event = await eventRepo.CreateAsync(Event); await eventRepo.SaveChangesAsync(); EventCustomer eventCustomer = new EventCustomer { CustomerId = customer.Id, EventId = Event.Id, Paid = true }; eventCustomerSaved = await repo.CreateAsync(eventCustomer); await repo.SaveChangesAsync(); EventSaved = Event; customerSaved = customer; id = eventCustomerSaved.Id; } // assert (for assert, once again use the context directly for verify.) using (var db = new Project15Context(options)) { var repo = new EventCustomerRepository(db); EventCustomer eventCustomer = await repo.GetByIdAsync(id); Assert.NotEqual(0, eventCustomer.Id); Assert.Equal(eventCustomerSaved.Id, eventCustomer.Id); Assert.True(eventCustomer.Paid); await repo.DeleteAsync(id); await repo.SaveChangesAsync(); eventCustomer = await repo.GetByIdAsync(id); Assert.Null(eventCustomer); } }
public override async Task UpdateWorksAsync() { int id = 0; int wrongId = 10; EventCustomer eventCustomerSaved = null; Event EventSaved = null; Customer customerSaved = null; // arrange (use the context directly - we assume that works) var options = new DbContextOptionsBuilder <Project15Context>() .UseInMemoryDatabase("db_eventcustomer_test_updatebyid").Options; // act (for act, only use the repo, to test it) using (var db = new Project15Context(options)); using (var db = new Project15Context(options)) { var customerRepo = new CustomerRepository(db); var eventRepo = new EventRepository(db); var repo = new EventCustomerRepository(db); Customer customer = new Customer { Name = "Axel", Address1 = "111 Address" }; customer = await customerRepo.CreateAsync(customer); await customerRepo.SaveChangesAsync(); Event Event = new Event { Name = "Jazz Fest", Type = "Music", Cost = 40 }; Event = await eventRepo.CreateAsync(Event); await eventRepo.SaveChangesAsync(); EventCustomer eventCustomer = new EventCustomer { CustomerId = customer.Id, EventId = Event.Id, Paid = true }; eventCustomerSaved = await repo.CreateAsync(eventCustomer); await repo.SaveChangesAsync(); EventSaved = Event; customerSaved = customer; id = eventCustomerSaved.Id; } using (var db = new Project15Context(options)) { var repo = new EventCustomerRepository(db); EventCustomer eventCustomer = await repo.GetByIdAsync(id); Assert.NotEqual(0, eventCustomer.Id); // should get some generated ID Assert.Equal(eventCustomerSaved.Id, eventCustomer.Id); Assert.Equal(EventSaved.Id, eventCustomer.EventId); eventCustomer.Paid = false; await repo.UpdateAsync(eventCustomer, id); await repo.SaveChangesAsync(); eventCustomer = await repo.GetByIdAsync(eventCustomer.Id); Assert.NotEqual(wrongId, eventCustomer.Id); // should get some generated ID Assert.False(eventCustomer.Paid); } }
public override async Task GetAllWorksAsync() { List <EventCustomer> eventCustomersList = new List <EventCustomer>(); EventCustomer eventCustomerSaved = null; Customer customerSaved = null; Event EventSaved = null; var options = new DbContextOptionsBuilder <Project15Context>() .UseInMemoryDatabase("db_eventcustomer_test_getall").Options; using (var db = new Project15Context(options)); using (var db = new Project15Context(options)) { var customerRepo = new CustomerRepository(db); var eventRepo = new EventRepository(db); var repo = new EventCustomerRepository(db); //Create customer Customer customer = new Customer { Name = "Axel", Address1 = "111 Address" }; customer = await customerRepo.CreateAsync(customer); await customerRepo.SaveChangesAsync(); Event Event = new Event { Name = "Jazz Fest", Type = "Music", Cost = 40 }; Event = await eventRepo.CreateAsync(Event); await eventRepo.SaveChangesAsync(); for (int i = 0; i < 5; i++) { EventCustomer eventCustomer = new EventCustomer { CustomerId = customer.Id, EventId = Event.Id, }; eventCustomerSaved = await repo.CreateAsync(eventCustomer); await repo.SaveChangesAsync(); eventCustomersList.Add(eventCustomerSaved); } EventSaved = Event; customerSaved = customer; } using (var db = new Project15Context(options)) { var repo = new EventCustomerRepository(db); List <EventCustomer> list = (List <EventCustomer>) await repo.GetAllAsync(); Assert.Equal(eventCustomersList.Count, list.Count); for (int i = 0; i < 5; i++) { Assert.Equal(eventCustomersList[i].CustomerId, list[i].CustomerId); Assert.Equal(eventCustomersList[i].EventId, list[i].EventId); Assert.NotEqual(0, list[i].Id); } } }
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); } }
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); } } }