public async Task GetAllTest()
        {
            var repo         = new EventRepository(new Deserializer());
            var lengthBefore = (await repo.GetAllAsync()).Count;
            var event1       = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name1", Description = "desc1", BetDeadline = DateTime.Now, CreatorId = 1000000
            };
            await repo.CreateAsync(event1);

            Thread.Sleep(1000);
            var event2 = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name2", Description = "desc2", BetDeadline = DateTime.Now, CreatorId = event1.CreatorId
            };
            await repo.CreateAsync(event2);

            Thread.Sleep(1000);
            var event3 = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name3", Description = "desc3", BetDeadline = DateTime.Now, CreatorId = event1.CreatorId
            };
            await repo.CreateAsync(event3);

            var events = await repo.GetAllAsync();

            Assert.AreEqual(lengthBefore + 3, events.Count);
        }
Esempio n. 2
0
        public override async Task UpdateWorksAsync()
        {
            int   id         = 0;
            int   wrongId    = 10;
            Event EventSaved = null;
            // arrange (use the context directly - we assume that works)
            var options = new DbContextOptionsBuilder <Project15Context>()
                          .UseInMemoryDatabase("db_Event_test_update").Options;

            // act (for act, only use the repo, to test it)
            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);

                Event Event = new Event {
                    Name = $"Jazz Fest", Type = $"Music", Cost = 40
                };
                EventSaved = await repo.CreateAsync(Event);

                await repo.SaveChangesAsync();

                id = EventSaved.Id;
            }

            // assert (for assert, once again use the context directly for verify.)
            using (var db = new Project15Context(options))
            {
                var repo = new EventRepository(db);

                Event Event = await repo.GetByIdAsync(id);

                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);


                Event.Name = "Hip-Hop-Night";
                Event.Type = "Music";

                await repo.UpdateAsync(Event, id);

                await repo.SaveChangesAsync();

                Event = await repo.GetByIdAsync(Event.Id);

                Assert.NotEqual(wrongId, Event.Id);
                Assert.Equal("Hip-Hop-Night", Event.Name);
                Assert.Equal("Music", Event.Type);
            }
        }
        public async Task DeleteTest()
        {
            var repo   = new EventRepository(new Deserializer());
            var event1 = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name1", Description = "desc1", BetDeadline = DateTime.Now, CreatorId = 389
            };
            await repo.CreateAsync(event1);

            await repo.DeleteAsync(event1.Id);
        }
        public async Task CreateTest()
        {
            var repo   = new EventRepository(new Deserializer());
            var event1 = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name1", Description = "desc1", BetDeadline = DateTime.Now, CreatorId = 235
            };
            var createdEvent = await repo.CreateAsync(event1);

            Assert.AreEqual(event1.Id, createdEvent.Id);
        }
Esempio n. 5
0
        public async Task <IHttpActionResult> CreateEventAsync(Core.Model.Event obj)
        {
            try
            {
                var result = await eventRepo.CreateAsync(obj);

                return(Created(Request.RequestUri.ToString() + "/" + result.Id, result));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
        public async Task UpdateTest()
        {
            var repo   = new EventRepository(new Deserializer());
            var event1 = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name1", Description = "desc1", BetDeadline = DateTime.Now, CreatorId = 134
            };
            await repo.CreateAsync(event1);

            var event2 = new BetEvent
            {
                Id = event1.Id, Name = "namenew", Description = "descnew", BetDeadline = DateTime.Now, CreatorId = event1.CreatorId
            };
            var updatedEvent = await repo.UpdateAsync(event2);

            Assert.AreEqual(updatedEvent.Id, event1.Id);
        }
Esempio n. 7
0
        public override async Task GetAllWorksAsync()
        {
            List <Event> Events     = new List <Event>();
            Event        EventSaved = null;

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

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

            using (var db = new Project15Context(options))
            {
                var repo = new EventRepository(db);

                for (int i = 0; i < 5; i++)
                {
                    Event Event = new Event {
                        Name = $"Jazz Fest {i}", Type = $"Music {i}", Cost = i
                    };
                    EventSaved = await repo.CreateAsync(Event);

                    await repo.SaveChangesAsync();

                    Events.Add(EventSaved);
                }
            }
            using (var db = new Project15Context(options))
            {
                var          repo      = new EventRepository(db);
                List <Event> EventList = (List <Event>) await repo.GetAllAsync();

                // should equal the same amount of Events
                Assert.Equal(Events.Count, EventList.Count);

                for (int i = 0; i < Events.Count; i++)
                {
                    Assert.Equal(Events[i].Name, EventList[i].Name);
                    Assert.Equal(Events[i].Type, EventList[i].Type);
                    Assert.Equal(Events[i].Cost, EventList[i].Cost);
                    Assert.NotEqual(0, Events[i].Id);
                }
            }
        }
Esempio n. 8
0
        public async Task <int> CreateEvent(EventBody eventBody, int locationId, int organiserId)
        {
            // save image to blob
            string imageName = await azureService.saveImageToBlobStorage(eventBody.Image);

            // create new event
            Event newEvent = new Event
            {
                Title            = eventBody.Title,
                Description      = eventBody.Description,
                StartTime        = eventBody.StartTime,
                OrganisorId      = organiserId,
                Image            = imageName,
                MaxRegistrations = eventBody.MaxRegistrations,
                LocationId       = locationId
            };

            // save event
            await eventRepository.CreateAsync(newEvent);

            return(newEvent.Id);
        }
        public async Task CreateAsync_given_event_create()
        {
            using (var connection = await CreateConnectionAsync())
                using (var context = await CreateContextAsync(connection))
                {
                    var repo = new EventRepository(context);
                    var ev   = new EventDTO
                    {
                        DateTime = new DateTime(2019, 08, 03, 15, 0, 0),
                        Location = "location",
                        WineType = WineTypes.Rose
                    };

                    var created = await repo.CreateAsync(ev);

                    var entity = await context.Events.FindAsync(created);

                    Assert.Equal(new DateTime(2019, 08, 03, 15, 0, 0), entity.DateTime);
                    Assert.Equal("location", entity.Location);
                    Assert.Equal(WineTypes.Rose, entity.WineType);
                }
        }
Esempio n. 10
0
        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);
                }
            }
        }