Example #1
0
        public void GetTotalTicketsByEventShouldReturnsCorrectTotalTicketsUsingDbContext()
        {
            var options = new DbContextOptionsBuilder <EventuresDbContext>()
                          .UseInMemoryDatabase("Eventures_Database_4")
                          .Options;

            var context = new EventuresDbContext(options);

            var service   = new EventService(context);
            var eventInDb = new Event
            {
                Name           = "Event",
                Place          = "Sofia",
                Start          = DateTime.UtcNow,
                End            = DateTime.UtcNow,
                TotalTickets   = 100,
                PricePerTicket = 25.5M
            };

            context.Events.Add(eventInDb);
            context.SaveChanges();

            var totalTickets = service.GetTotalTicketsByEvent(1);

            Assert.Equal(100, totalTickets);
        }
Example #2
0
        public void All_WithExistingData_ShouldReturnAllOfExistingData()
        {
            ServiceCollection services = new ServiceCollection();

            services.AddDbContext <EventuresDbContext>(options =>
                                                       options.UseInMemoryDatabase("EventuresTestDB"));

            Event eventModel = new Event {
                Id = "Whatever", Name = "TestEvent", TotalTickets = 10
            };

            _db.Events.Add(eventModel);
            _db.SaveChanges();

            List <Event> result = _service.GetAllWithTicketPrice().ToList();

            result.ShouldNotBeEmpty();

            Event entity = result[0];

            entity.ShouldBeSameAs(eventModel);
        }
Example #3
0
 public void Seed(EventuresDbContext context)
 {
     if (!context.Roles.Any())
     {
         context.Roles.Add(new UserRole {
             Name = "Admin", NormalizedName = "ADMIN"
         });
         context.Roles.Add(new UserRole {
             Name = "User", NormalizedName = "USER"
         });
         context.SaveChanges();
     }
 }
        public void Create(string name, string place, DateTime startDate, DateTime endDate, int tickets, decimal price)
        {
            var createdEvent = new Event()
            {
                Name           = name,
                Place          = place,
                Start          = startDate,
                End            = endDate,
                Tickets        = tickets,
                PricePerTicket = price
            };

            db.Events.Add(createdEvent);
            db.SaveChanges();
        }
        public void Create(EventCreate model)
        {
            var @event = new Event
            {
                End            = model.End,
                Start          = model.Start,
                Name           = model.Name,
                Place          = model.Place,
                PricePerTicket = model.PricePerTicket,
                TotalTickets   = model.TotalTickets,
            };

            context.Events.Add(@event);
            context.SaveChanges();
        }
Example #6
0
        public void AllOrdersWorksCorrectly()
        {
            var options = new DbContextOptionsBuilder <EventuresDbContext>()
                          .UseInMemoryDatabase(databaseName: "All_Orders_Db")
                          .Options;

            var db = new EventuresDbContext(options);

            db.Orders.AddRange(this.TestData().AsQueryable());
            db.SaveChanges();

            Assert.True(db.Orders.Count() == 3);
            Assert.True(db.Orders.First().Event.Name == "FootballGame");
            Assert.True(db.Orders.ToList()[1].Event.Name == "PrivateParty");
            Assert.True(db.Orders.Last().Event.Name == "New Years Eve");
        }
        public void Seed()
        {
            if (context.Roles.Any() == false)
            {
                context.Roles.Add(new IdentityRole()
                {
                    Name           = "Admin",
                    NormalizedName = "ADMIN"
                });
                context.Roles.Add(new IdentityRole()
                {
                    Name           = "User",
                    NormalizedName = "USER"
                });
            }

            context.SaveChanges();
        }
Example #8
0
        public async Task Seed()
        {
            if (!context.Roles.Any())
            {
                context.Roles.Add(new IdentityRole
                {
                    Name           = "Admin",
                    NormalizedName = "ADMIN"
                });

                context.Roles.Add(new IdentityRole
                {
                    Name           = "User",
                    NormalizedName = "USER"
                });
            }

            context.SaveChanges();
        }
Example #9
0
        private void CreateRoles(EventuresDbContext context,
                                 Microsoft.AspNetCore.Identity.RoleManager <IdentityRole> roleManager)
        {
            var roles = new string[] { "Admin", "User" };

            foreach (var role in roles)
            {
                if (!roleManager.RoleExistsAsync(role).Result)
                {
                    context.Roles.Add(new IdentityRole
                    {
                        Name           = role,
                        NormalizedName = role.ToUpper()
                    });

                    context.SaveChanges();
                }
            }
        }
Example #10
0
        public void GetMyOrdersReturnsAllOrdersOfTheCurrentlyLoggedUser()
        {
            var options = new DbContextOptionsBuilder <EventuresDbContext>()
                          .UseInMemoryDatabase(databaseName: "Get_My_Orders_Db")
                          .Options;

            var db = new EventuresDbContext(options);

            db.Orders.AddRange(TestData().AsQueryable());
            db.SaveChanges();

            var currentlyLoggedInUser = db.Users.FirstOrDefault(u => u.UserName == "Pesho");

            var orderService = new OrderService(db);

            var orders = orderService.GetMyOrders(currentlyLoggedInUser.UserName);

            Assert.True(orders.Count() == 1);
        }
Example #11
0
        public IActionResult Create(EventCreateBindingModel bindingModel)
        {
            if (this.ModelState.IsValid)
            {
                Event eventForDb = new Event()
                {
                    Name           = bindingModel.Name,
                    End            = bindingModel.End,
                    Start          = bindingModel.Start,
                    Place          = bindingModel.Place,
                    PricePerTicket = bindingModel.PricePerTicket,
                    TotalTckets    = bindingModel.TotalTickets
                };
                _context.Events.Add(eventForDb);
                _context.SaveChanges();

                return(this.Redirect("All"));
            }
            return(this.View());
        }
Example #12
0
        public void CreateOrderWorksCorrectlyAndSavesItInDb()
        {
            var options = new DbContextOptionsBuilder <EventuresDbContext>()
                          .UseInMemoryDatabase(databaseName: "Create_Order_Db")
                          .Options;

            var db = new EventuresDbContext(options);

            var eventt = new Event
            {
                Id             = "123",
                Name           = "FootballGame",
                PricePerTicket = 10.25m,
                Place          = "Somewhere",
                TotalTickets   = 15000,
                Start          = new DateTime(2018, 12, 23, 19, 30, 0),
                End            = new DateTime(2018, 12, 23, 21, 0, 0)
            };

            var user = new EventuresUser
            {
                Id           = "456",
                UserName     = "******",
                FirstName    = "Peter",
                LastName     = "Petrov",
                UCN          = "1234567890",
                Email        = "*****@*****.**",
                PasswordHash = "21312312412412"
            };

            db.Events.Add(eventt);
            db.Users.Add(user);
            db.SaveChanges();

            var orderService = new OrderService(db);

            orderService.CreateOrder("123", "456", 5000);

            Assert.True(db.Orders.First().Event.Name == "FootballGame");
            Assert.True(db.Orders.First().Customer.UserName == "Pesho");
        }