Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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));
            }
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
 public EventService(sportsBettingDbContext context)
 {
     this.context = context ?? throw new ArgumentNullException(nameof(context));
 }