Ejemplo n.º 1
0
        public async Task Accept_navigation_request()
        {
            var context = TestAppContext.ConstructTestAppContext();

            var firebaseAuthService         = context.TestContainer.Resolve <IFirebaseAuthService>();
            var userRepository              = context.TestContainer.Resolve <IUserRepository>();
            var chatRepository              = context.TestContainer.Resolve <IChatRepository>();
            var mapRepository               = context.TestContainer.Resolve <IMapRepository>();
            var navigationRequestRepository = context.TestContainer.Resolve <INavigateRequestRepository>();
            var requestNavigationService    = context.TestContainer.Resolve <INavigationRequestService>();

            var sut = context.TestContainer.Resolve <RequestViewModel>();

            firebaseAuthService.LoginUser("*****@*****.**", "theday");

            var initiator = await userRepository.GetUser("*****@*****.**");

            var responder = await userRepository.GetUser("*****@*****.**");

            var chat = chatRepository.GetChat(initiator, responder);

            var navigationRequest = await navigationRequestRepository.GetNavigationRequest(chat);

            sut.Prepare(new NavigateRequestParameters {
                Chat = chat, NavigateRequest = navigationRequest
            });

            await sut.AcceptRequest();

            Assert.IsTrue(context.TestNavigationService.TestNavigations.Any(a => a.Parameter is Map));

            userRepository.Dispose();
            navigationRequestRepository.Dispose();
            mapRepository.Dispose();
        }
        public void SutOrderByEditionDescendingAndAuthorDescendingAndTitleAscending()
        {
            var context =
                new TestAppContext(new[]
            {
                new Sorting <Book> {
                    Column = c => c.EditionYear, Ascending = false
                },
                new Sorting <Book> {
                    Column = c => c.AuthorName, Ascending = false
                },
                new Sorting <Book> {
                    Column = c => c.Title, Ascending = true
                }
            });
            IBooksOrderer orderer = new BooksOrderer(context);
            var           books   = GetBooks();
            var           result  = orderer.Order(books);

            Assert.IsNotNull(result);
            Assert.AreEqual("Internet & World Wide Web: How to Program", result.ElementAt(0).Title);
            Assert.AreEqual("Java How to Program", result.ElementAt(1).Title);
            Assert.AreEqual("Head First Design Patterns", result.ElementAt(2).Title);
            Assert.AreEqual("Patterns of Enterprise Application Architecture", result.ElementAt(3).Title);
        }
Ejemplo n.º 3
0
 public void SetUp()
 {
     AutoMapperConfig.RegisterMappings();
     Mapper.CreateMap <Message, MessageAdd>();
     context    = new TestAppContext();
     controller = new MessageController(context);
 }
Ejemplo n.º 4
0
        public async Task Navigate_to_friend_list_view_model()
        {
            var context = TestAppContext.ConstructTestAppContext();

            var mapRepository             = context.TestContainer.Resolve <IMapRepository>();
            var userRepository            = context.TestContainer.Resolve <IUserRepository>();
            var navigateRequestRepository = context.TestContainer.Resolve <INavigateRequestRepository>();
            var navigationRequestService  = context.TestContainer.Resolve <INavigationRequestService>();
            var mvxNavigationService      = context.TestContainer.Resolve <IMvxNavigationService>();
            var firebaseAuthService       = context.TestContainer.Resolve <IFirebaseAuthService>();

            var mapViewModel = context.TestContainer.Resolve <MapViewModel>();

            firebaseAuthService.LoginUser("*****@*****.**", "theday");

            mapViewModel.Prepare(new Map());

            await mapViewModel.SendEndNavigationAndMarkAsEnded();

            Assert.IsTrue(context.TestNavigationService.TestNavigations.Any(a => a.Parameter is User));

            mapRepository.Dispose();
            userRepository.Dispose();
            navigateRequestRepository.Dispose();
        }
        public async Task Send_request_for_navigation()
        {
            var context = TestAppContext.ConstructTestAppContext();

            var firebaseAuthService          = context.TestContainer.Resolve <IFirebaseAuthService>();
            var userRepository               = context.TestContainer.Resolve <IUserRepository>();
            var chatRepository               = context.TestContainer.Resolve <IChatRepository>();
            var messageRepository            = context.TestContainer.Resolve <IMessageRepository>();
            var navigateRequestRepository    = context.TestContainer.Resolve <INavigateRequestRepository>();
            var testNavigationRequestService = context.TestContainer.Resolve <TestNavigationRequestService>();
            var chatViewModel          = context.TestContainer.Resolve <ChatViewModel>();
            var receivingChatViewModel = context.TestContainer.Resolve <ChatViewModel>();

            firebaseAuthService.LoginUser("*****@*****.**", "theday");

            var initiator = await userRepository.GetUser("*****@*****.**");

            var responder = await userRepository.GetUser("*****@*****.**");

            var chat = chatRepository.GetChat(initiator, responder);

            await chatViewModel.PrepareAsync(new ChatParameters { Chat = chat });

            await chatViewModel.SendNavigationRequest();

            var navigateRequestNavigation = context.TestNavigationService.TestNavigations.First(f => f.Parameter is NavigateRequestParameters);

            var navigateRequestParameters = (NavigateRequestParameters)navigateRequestNavigation.Parameter;

            Assert.AreEqual(initiator.EmailAddress, navigateRequestParameters.NavigateRequest.InitiatorEmail);

            userRepository.Dispose();
            messageRepository.Dispose();
            navigateRequestRepository.Dispose();
        }
Ejemplo n.º 6
0
 public void SetUp()
 {
     AutoMapperConfig.RegisterMappings();
     Mapper.CreateMap <Item, ItemAdd>();
     context    = new TestAppContext();
     controller = new ItemController(context);
 }
Ejemplo n.º 7
0
        public async Task User_decline_request()
        {
            var context = TestAppContext.ConstructTestAppContext();

            var firebaseAuthService         = context.TestContainer.Resolve <IFirebaseAuthService>();
            var userRepository              = context.TestContainer.Resolve <IUserRepository>();
            var chatRepository              = context.TestContainer.Resolve <IChatRepository>();
            var navigationRequestRepository = context.TestContainer.Resolve <INavigateRequestRepository>();
            var requestNavigationService    = context.TestContainer.Resolve <INavigationRequestService>();

            var sut = context.TestContainer.Resolve <RequestViewModel>();

            firebaseAuthService.LoginUser("*****@*****.**", "theday");

            var initiator = await userRepository.GetUser("*****@*****.**");

            var responder = await userRepository.GetUser("*****@*****.**");

            var chat = chatRepository.GetChat(initiator, responder);

            var navigateRequest = await navigationRequestRepository.GetNavigationRequest(chat);

            sut.Prepare(new NavigateRequestParameters {
                Chat = chat, NavigateRequest = navigateRequest
            });

            await sut.DeclineRequest();

            Assert.IsTrue(context.TestNavigationService.TestNavigations.Any(a => a.Parameter is ChatParameters));
            Assert.AreEqual(string.Empty, navigateRequest.InitiatorEmail);
            Assert.AreEqual(false, navigateRequest.IsNavigationActive);

            userRepository.Dispose();
            navigationRequestRepository.Dispose();
        }
Ejemplo n.º 8
0
        public UserService(UserManager <User> userManager, SignInManager <User> signInManager, TestAppContext dataBase)
        {
            _userManager   = userManager;
            _signInManager = signInManager;
            _dataBase      = dataBase;

            UserRepository = new UserRepository(_dataBase);
        }
Ejemplo n.º 9
0
 public UnitOfWork(
     TestAppContext context,
     ILogger <UnitOfWork> logger)
 {
     _logger  = logger;
     _context = context;
     _logger  = logger;
 }
Ejemplo n.º 10
0
        public async static Task RemoveUsers()
        {
            var context  = TestAppContext.GetContext();
            var allUsers = context.Users;

            context.Users.RemoveRange(allUsers);
            await context.SaveChangesAsync();
        }
        public void SutNotOrderIfSortingIsEmpty()
        {
            var context =
                new TestAppContext(new Sorting <Book> [0]);
            IBooksOrderer orderer = new BooksOrderer(context);
            var           books   = GetBooks();
            var           result  = orderer.Order(books);

            Assert.IsFalse(result.Any());
        }
Ejemplo n.º 12
0
        public TestAuthController()
        {
            var appSettings = AppSettings.GetAppSettings();

            _context           = TestAppContext.GetContext();
            _userService       = new UserService(_context);
            _authService       = new AuthService(TestAppContext.GetContext(), _userService, appSettings);
            _authController    = new AuthController(_authService);
            _accountController = new AccountController(_userService);
        }
        public void DeleteHardware_ShouldReturnOK()
        {
            var context    = new TestAppContext();
            var controller = new HardwaresController(new HardwareRepository(context));
            var item       = controller.PostHardware(GetDemoHardware()) as CreatedAtRouteNegotiatedContentResult <HardwareDto>;

            var result = controller.DeleteHardware(item.Content.Id) as OkNegotiatedContentResult <HardwareDto>;

            Assert.IsNotNull(result);
            Assert.AreEqual(item.Content.Id, result.Content.Id);
        }
Ejemplo n.º 14
0
        public void User_register_and_navigate_to_FriendList()
        {
            var context = TestAppContext.ConstructTestAppContext();

            var loginViewModel = context.TestContainer.Resolve <RegisterViewModel>();

            loginViewModel.EmailAddress = "*****@*****.**";

            loginViewModel.UserPassword = "******";

            loginViewModel.RegisterUserCommand.Execute();
        }
Ejemplo n.º 15
0
        public void DeleteItem_ShouldReturnOk()
        {
            var context = new TestAppContext();
            var item    = GetDemoItems();

            context.ItemLists.Add(item);

            var controller = new InventoryOperationsController(context);
            var result     = controller.DeleteItemList(3) as OkNegotiatedContentResult <ItemList>;

            Assert.IsNotNull(result);
            Assert.AreEqual(item.id, result.Content.id);
        }
Ejemplo n.º 16
0
        public async Task User_login_and_navigate_to_FriendList()
        {
            var context = TestAppContext.ConstructTestAppContext();

            var loginViewModel = context.TestContainer.Resolve <LoginViewModel>();

            loginViewModel.EmailAddress = "*****@*****.**";

            loginViewModel.UserPassword = "******";

            await loginViewModel.LoginUser();

            Assert.IsTrue(context.TestNavigationService.TestNavigations.Any(a => a.Parameter is User));
        }
        public async Task Add_new_chat_message_to_chat()
        {
            var context = TestAppContext.ConstructTestAppContext();

            var firebaseAuthService       = context.TestContainer.Resolve <IFirebaseAuthService>();
            var userRepository            = context.TestContainer.Resolve <IUserRepository>();
            var chatRepository            = context.TestContainer.Resolve <IChatRepository>();
            var messageRepository         = context.TestContainer.Resolve <IMessageRepository>();
            var navigateRequestRepository = context.TestContainer.Resolve <INavigateRequestRepository>();
            var chatViewModel             = context.TestContainer.Resolve <ChatViewModel>();

            firebaseAuthService.LoginUser("*****@*****.**", "theday");

            var initiator = await userRepository.GetUser("*****@*****.**");

            var responder = await userRepository.GetUser("*****@*****.**");

            var chat = chatRepository.GetChat(initiator, responder);

            await chatViewModel.PrepareAsync(new ChatParameters { Chat = chat });

            var testMessage = Guid.NewGuid().ToString();

            chatViewModel.ActiveMessage = testMessage;

            var testHook = new ChatViewModelHook
            {
                ViewModel      = chatViewModel,
                TestMessage    = testMessage,
                ActiveTestUser = initiator
            };

            chatViewModel.TestChatMessageHook = testHook;
            chatViewModel.AddNewMessageCommand.Execute();

            testHook.ResetEvent.WaitOne();

            Assert.IsNotNull(testHook.CapturedTestMessage);
            Assert.AreEqual(testHook.ActiveTestUser.EmailAddress, testHook.CapturedTestMessage.SenderEmail);

            await messageRepository.DeleteMessage(
                chat.Messages.First(f => f.FirebaseKey == testHook
                                    .CapturedTestMessage
                                    .FirebaseKey));

            userRepository.Dispose();
            messageRepository.Dispose();
            navigateRequestRepository.Dispose();
        }
Ejemplo n.º 18
0
        public void GetItemList_ShouldReturnItemWithSameId()
        {
            /* Arrange */
            var context = new TestAppContext();

            context.ItemLists.Add(GetDemoItems());

            /* Act */
            var controller = new InventoryOperationsController(context);
            var result     = controller.GetItemList(3) as OkNegotiatedContentResult <ItemList>;

            /* Assert */
            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Content.id);
        }
Ejemplo n.º 19
0
        private EDCWebApp.Controllers.StudentsController InitializeTest()
        {
            var context = new TestAppContext();
            var student = TestUtils.GetStudent();

            context.Students.Add(student);


            var controller = new StudentsController(context);

            controller.Request = new System.Net.Http.HttpRequestMessage();
            controller.Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());

            return(controller);
        }
Ejemplo n.º 20
0
        public void Mondo_Common_ApplicationContext_WriteError()
        {
            List <string>  errors1  = new List <string>();
            List <string>  errors2  = new List <string>();
            TestAppContext context1 = new TestAppContext(errors1);
            TestAppContext context2 = new TestAppContext(errors2);

            context1.Log.WriteError(new Exception("Bob's hair is on fire"));
            context2.Log.WriteError(new Exception("John's hair is on fire"));

            Assert.AreEqual(1, errors1.Count);
            Assert.AreEqual("Bob's hair is on fire", errors1[0]);

            Assert.AreEqual(1, errors2.Count);
            Assert.AreEqual("John's hair is on fire", errors2[0]);
        }
Ejemplo n.º 21
0
        public static void Seed(IApplicationBuilder applicationBuilder)
        {
            TestAppContext context =
                applicationBuilder.ApplicationServices.GetRequiredService <TestAppContext>();


            if (!context.Books.Any())
            {
                context.AddRange
                    (new Book
                {
                    Image    = @"C:\Users\Jerzy\source\repos\TestApplication\BookStore.Web\wwwroot\img\Books\3OVAxVVhAeE.jpg",
                    Price    = 50,
                    Discount = 0,
                    Quantity = 14
                }, new Book
                {
                    Image    = @"C:\Users\Jerzy\source\repos\TestApplication\BookStore.Web\wwwroot\img\Books\f8sNEYR1GS4.jpg",
                    Price    = 40,
                    Discount = 0,
                    Quantity = 14
                }, new Book
                {
                    Image    = @"C:\Users\Jerzy\source\repos\TestApplication\BookStore.Web\wwwroot\img\Books\fB4Cro5nwCg.jpg",
                    Price    = 60,
                    Discount = 0,
                    Quantity = 14
                }, new Book
                {
                    Image    = @"C:\Users\Jerzy\source\repos\TestApplication\BookStore.Web\wwwroot\img\Books\HdbMcallbt0.jpg",
                    Price    = 60,
                    Discount = 0,
                    Quantity = 14
                }, new Book
                {
                    Image    = @"C:\Users\Jerzy\source\repos\TestApplication\BookStore.Web\wwwroot\img\Books\HVJ4YAWOApk.jpg",
                    Price    = 14,
                    Discount = 0,
                    Quantity = 14
                }


                    );
            }

            context.SaveChanges();
        }
        public void SutNotOrderIfSortingIsNull()
        {
            var context =
                new TestAppContext(null);
            IBooksOrderer orderer = new BooksOrderer(context);
            var           books   = GetBooks();

            try
            {
                var result = orderer.Order(books);
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.IsInstanceOfType(ex, typeof(OrdenationException));
            }
        }
        //Управление включением кнопок панели управления и меню, исходя из выбранного узла дерева
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            int level = treeView1.SelectedNode.Level;

            if (level == 0)
            {
                toolStripButton1.Enabled = false;
                toolStripButton2.Enabled = false;
                tsmiLaunch.Enabled       = false;
                tsmiPreview.Enabled      = false;
            }
            else if (level == 1)
            {
                int idEx = ((TestAppLibrary.Exam)treeView1.SelectedNode.Tag).Id;
                using (TestAppLibrary.TestAppContext db = new TestAppContext())
                {
                    //Пройденные экзамены нельзя перепройти
                    var user = db.UserExams.Where(i => i.Exam.Id == idEx && i.User.Id == UserId).FirstOrDefault();
                    if (user != null)
                    {
                        if (user.IsPassed == null)
                        {
                            toolStripButton1.Enabled = true;
                            tsmiLaunch.Enabled       = true;
                        }
                        else
                        {
                            toolStripButton1.Enabled = false;
                            tsmiLaunch.Enabled       = false;
                        }
                    }
                    toolStripButton2.Enabled = false;
                    tsmiPreview.Enabled      = false;
                }
            }
            else if (level == 2)
            {
                toolStripButton1.Enabled = false;
                toolStripButton2.Enabled = true;
                tsmiLaunch.Enabled       = false;
                tsmiPreview.Enabled      = true;
            }
        }
        public async Task Upon_navigating_to_friendlist_load_friends()
        {
            var context = TestAppContext.ConstructTestAppContext();

            var firebaseAuthService = context.TestContainer.Resolve <IFirebaseAuthService>();
            var userRepository      = context.TestContainer.Resolve <IUserRepository>();
            var friendListViewModel = context.TestContainer.Resolve <FriendListViewModel>();

            firebaseAuthService.LoginUser("*****@*****.**", "theday");

            var user = await userRepository.GetUser("*****@*****.**");

            await friendListViewModel.PrepareAsync(user);

            Assert.AreNotEqual(0, friendListViewModel.FriendList.Count);
            Assert.IsTrue(friendListViewModel.FriendList.Any(a => a.EmailAddress == "*****@*****.**"));

            userRepository.Dispose();
        }
Ejemplo n.º 25
0
        public void GetItemLists_ShouldReturnAllItems()
        {
            var context = new TestAppContext();

            context.ItemLists.Add(new ItemList {
                id = 1, Name = "Demo1", Description = "Demo Desc1", ImagePath = "", Price = 10
            });
            context.ItemLists.Add(new ItemList {
                id = 2, Name = "Demo2", Description = "Demo Desc2", ImagePath = "", Price = 15
            });
            context.ItemLists.Add(new ItemList {
                id = 3, Name = "Demo3", Description = "Demo Desc3", ImagePath = "", Price = 20
            });

            var controller = new InventoryOperationsController(context);
            var result     = controller.GetItemLists() as TestItemDbSet;

            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Local.Count);
        }
Ejemplo n.º 26
0
        static void Main(string[] args)
        {
            Configuration programConfiguration;

            programConfiguration = ConfigurationMenager.ReadConfiguration();


            var optionsBuilder = new DbContextOptionsBuilder <TestAppContext>();

            optionsBuilder.UseSqlServer(programConfiguration.Connection.ConnectionString);

            using (var context = new TestAppContext(optionsBuilder.Options))
            {
                AuthorLoader authorLoader = new AuthorLoader(context);
                authorLoader.LoadMethod(programConfiguration.AuthorsPath);

                BookLoader bookLoader = new BookLoader(context);
                bookLoader.LoadMethod(authorLoader.authorsCount, programConfiguration.BooksPath);
            }
        }
Ejemplo n.º 27
0
        public async Task On_location_change()
        {
            var context = TestAppContext.ConstructTestAppContext();

            var mapRepository             = context.TestContainer.Resolve <IMapRepository>();
            var userRepository            = context.TestContainer.Resolve <IUserRepository>();
            var navigateRequestRepository = context.TestContainer.Resolve <INavigateRequestRepository>();
            var navigationRequestService  = context.TestContainer.Resolve <INavigationRequestService>();
            var mvxNavigationService      = context.TestContainer.Resolve <IMvxNavigationService>();
            var firebaseAuthService       = context.TestContainer.Resolve <IFirebaseAuthService>();

            var mapViewModel = context.TestContainer.Resolve <MapViewModel>();

            firebaseAuthService.LoginUser("*****@*****.**", "theday");

            var map = await mapRepository.GetMap("c@test,comc1@test,com");

            mapViewModel.Prepare(map);

            var testHook = new MapViewModelHook
            {
                Map = new Map
                {
                    InitiatorLatitude  = "499",
                    InitiatorLongitude = "499"
                }
            };

            mapViewModel.TestLocationChangeHook = testHook;

            await mapViewModel.OnLocationChanged();

            testHook.ResetEvent.WaitOne();

            Assert.AreEqual("498", testHook.Map.InitiatorLatitude);
            Assert.AreEqual("498", testHook.Map.InitiatorLongitude);

            mapRepository.Dispose();
            userRepository.Dispose();
            navigateRequestRepository.Dispose();
        }
Ejemplo n.º 28
0
        public async Task RemoveEvent_ShouldReturnOk()
        {
            //Arrange
            var context = new TestAppContext();
            var item = GetDemoEvent();
            context.Events.Add(item);

            //var mockRepository = new Mock<IRepository>(context);
            var repository = new EventRepository(context);
            var controller = new EventController(repository);
            controller.Request = new HttpRequestMessage();
            controller.Request.SetConfiguration(new HttpConfiguration());
            
            //Act
            var response = await controller.RemoveEvent(item.Id);
            
            //Assert
            Assert.IsNotNull(response);
            Assert.IsNull(response.Content);
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
        }
        public void GetHardwares_ShouldReturnAllHardwares()
        {
            var context = new TestAppContext();

            context.Hardwares.Add(new Hardware {
                Id = 1, IdHardwareType = 2, Description = "Demo name1", PurchasePrice = 5, IdPhoto = null, SerialNumber = "Abc123"
            });
            context.Hardwares.Add(new Hardware {
                Id = 2, IdHardwareType = 2, Description = "Demo name2", PurchasePrice = 5, IdPhoto = null, SerialNumber = "Abc123"
            });
            context.Hardwares.Add(new Hardware {
                Id = 3, IdHardwareType = 2, Description = "Demo name3", PurchasePrice = 5, IdPhoto = null, SerialNumber = "Abc123"
            });
            context.SaveChanges();

            var controller = new HardwaresController(new HardwareRepository(context));
            var result     = controller.GetHardwares();

            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Count());
        }
Ejemplo n.º 30
0
        public void Setup()
        {
            logger           = new Mock <ILogger <ProductController> >();
            repositoryLogger = new Mock <ILogger <Repository> >();
            mapper           = new MapperConfiguration(cfg =>
            {
                cfg.AddMaps(typeof(Repository).Assembly);
            }).CreateMapper();

            var builder = new DbContextOptionsBuilder <TestAppContext>();
            var options = builder.UseInMemoryDatabase(Guid.NewGuid().ToString()).Options;

            context = new TestAppContext(options);
            // Seed with test values
            context.Brands.Add(new Brand()
            {
                BrandId = 1, Name = "US"
            });
            context.Products.Add(new Product()
            {
                ProductId = 1, Name = "Test product", BrandId = 1, IsActive = true, Term = "monthly"
            });
            context.Products.Add(new Product()
            {
                ProductId = 2, Name = "Test product", BrandId = 1, IsActive = true, Term = "monthly"
            });
            context.Offers.Add(new Offer()
            {
                OfferId = 1, NumberOfTerms = 10, Description = "Test offer", Price = 1.0M, ProductId = 1
            });
            context.Customers.Add(new Customer()
            {
                CustomerId = 1, EmailAddress = "*****@*****.**", FirstName = "fn", LastName = "ln"
            });
            context.Orders.Add(new Order()
            {
                OrderId = 1, OfferId = 1, CustomerId = 1, StartDate = DateTime.Now, EndDate = DateTime.Now.AddMonths(5)
            });
            context.SaveChanges();
        }
        public async Task Search_for_user_with_search_text()
        {
            var context = TestAppContext.ConstructTestAppContext();

            var firebaseAuthService = context.TestContainer.Resolve <IFirebaseAuthService>();
            var userRepository      = context.TestContainer.Resolve <IUserRepository>();
            var friendListViewModel = context.TestContainer.Resolve <FriendListViewModel>();

            firebaseAuthService.LoginUser("*****@*****.**", "theday");

            var user = await userRepository.GetUser("*****@*****.**");

            await friendListViewModel.PrepareAsync(user);

            friendListViewModel.UserSearchText = "chris";

            await friendListViewModel.SearchForUser();

            Assert.AreNotEqual(0, friendListViewModel.SearchedUsers.Count);

            userRepository.Dispose();
        }
Ejemplo n.º 32
0
        public async Task UpdateEventTest_ShouldReturnSameProduct_and_OkStatusCode()
        {
            //arrange
            var context = new TestAppContext();
            context.Events.Add(GetDemoEvent());
            var repository = new EventRepository(context);            
            var controller = new EventController(repository);
            controller.Request = new HttpRequestMessage();
            controller.Request.SetConfiguration(new HttpConfiguration());
            var item = GetDemoEvent();

            //act
            var response = await controller.UpdateEvent(item);

            //assert
            Event resultEvent;

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Content);
            Assert.IsTrue(response.TryGetContentValue<Event>(out resultEvent));
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.AreEqual(item.Id, resultEvent.Id);
        }