public async Task ReturnAllEvents() { // Arrange contextOptions = new DbContextOptionsBuilder <sportsBettingDbContext>() .UseInMemoryDatabase(databaseName: "ReturnAllEvents") .Options; using (var assertContext = new sportsBettingDbContext(contextOptions)) { await assertContext.Events.AddRangeAsync( new Event { Id = 1, Name = "Barca - Real", OddsFirstTeam = 1.55, OddsDraw = 3.00, OddsSecondTeam = 2.00, StartDate = DateTime.Now, IsDeleted = false }, new Event { Id = 3, Name = "Botev Vraca - CSKA", OddsFirstTeam = 1.55, OddsDraw = 3.00, OddsSecondTeam = 2.00, StartDate = DateTime.Now, IsDeleted = false }, new Event { Id = 2, Name = "Levski - Ludogorec", OddsFirstTeam = 1.55, OddsDraw = 3.00, OddsSecondTeam = 2.00, StartDate = DateTime.Now, IsDeleted = true }); await assertContext.SaveChangesAsync(); } using (var assertContext = new sportsBettingDbContext(contextOptions)) { var eventServiceMock = new EventService(assertContext); // Act var allEvents = await eventServiceMock.GetEventsAsync(); var events = allEvents.ToList(); // Assert Assert.IsTrue(events.Count == 2); } }
public async Task DeleteEvent_WhenArgumentIsCorrect() { // Arrange contextOptions = new DbContextOptionsBuilder <sportsBettingDbContext>() .UseInMemoryDatabase(databaseName: "DeleteEvent_WhenArgumentIsCorrect") .Options; using (var assertContext = new sportsBettingDbContext(contextOptions)) { await assertContext.Events.AddRangeAsync( new Event { Id = 1, Name = "Barca - Real", OddsFirstTeam = 1.55, OddsDraw = 3.00, OddsSecondTeam = 2.00, StartDate = DateTime.Now, IsDeleted = false }, new Event { Id = 3, Name = "Botev Vraca - CSKA", OddsFirstTeam = 1.55, OddsDraw = 3.00, OddsSecondTeam = 2.00, StartDate = DateTime.Now, IsDeleted = false }, new Event { Id = 2, Name = "Levski - Ludogorec", OddsFirstTeam = 1.55, OddsDraw = 3.00, OddsSecondTeam = 2.00, StartDate = DateTime.Now, IsDeleted = true }); await assertContext.SaveChangesAsync(); } using (var assertContext = new sportsBettingDbContext(contextOptions)) { var eventServiceMock = new EventService(assertContext); // Act var deletedEvent = await eventServiceMock.DeleteEventAsync(3); // Assert Assert.IsTrue(deletedEvent.IsDeleted == true); } }
public async Task ThrowArgumentNullEcxeption_WhenUserEventIsNotFound(int id) { // Arrange contextOptions = new DbContextOptionsBuilder <sportsBettingDbContext>() .UseInMemoryDatabase(databaseName: "ThrowArgumentNullEcxeption_WhenUserEventIsNotFound") .Options; using (var assertContext = new sportsBettingDbContext(contextOptions)) { await assertContext.Events.AddRangeAsync( new Event { Id = 1, Name = "Barca - Real", OddsFirstTeam = 1.55, OddsDraw = 3.00, OddsSecondTeam = 2.00, StartDate = DateTime.Now, IsDeleted = false }, new Event { Id = 3, Name = "Botev Vraca - CSKA", OddsFirstTeam = 1.55, OddsDraw = 3.00, OddsSecondTeam = 2.00, StartDate = DateTime.Now, IsDeleted = false }, new Event { Id = 2, Name = "Levski - Ludogorec", OddsFirstTeam = 1.55, OddsDraw = 3.00, OddsSecondTeam = 2.00, StartDate = DateTime.Now, IsDeleted = true }); await assertContext.SaveChangesAsync(); } // Act and Assert using (var assertContext = new sportsBettingDbContext(contextOptions)) { var eventServiceMock = new EventService(assertContext); await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await eventServiceMock.DeleteEventAsync(id)); } }
public async Task EditEventAsync_WhemParametersAreCorrect(int eventId, string eventName, double oddsFirstTeam, double oddsDraw, double oddsSecondTeam) { // Arrange contextOptions = new DbContextOptionsBuilder <sportsBettingDbContext>() .UseInMemoryDatabase(databaseName: "EditEventAsync_WhemParametersAreCorrect") .Options; using (var assertContext = new sportsBettingDbContext(contextOptions)) { await assertContext.Events.AddAsync( new Event { Id = 1, Name = "Barca - Real", OddsFirstTeam = 1.55, OddsDraw = 3.00, OddsSecondTeam = 2.00, StartDate = DateTime.Now, IsDeleted = false }); await assertContext.SaveChangesAsync(); } using (var assertContext = new sportsBettingDbContext(contextOptions)) { var eventServiceMock = new EventService(assertContext); // Act await eventServiceMock.EditEventAsync(eventId, eventName, oddsFirstTeam, oddsDraw, oddsSecondTeam, DateTime.Now); var editedEvent = await assertContext.Events.FirstOrDefaultAsync(e => e.Id == eventId); // Assert Assert.IsTrue(editedEvent.Id == eventId); Assert.IsTrue(editedEvent.Name == eventName); Assert.IsTrue(editedEvent.OddsFirstTeam == oddsFirstTeam); Assert.IsTrue(editedEvent.OddsDraw == oddsDraw); Assert.IsTrue(editedEvent.OddsSecondTeam == oddsSecondTeam); } }
public EventService(sportsBettingDbContext context) { this.context = context ?? throw new ArgumentNullException(nameof(context)); }