public async void AddDataToTable()
        {
            EmployeesController eCtrl = new EmployeesController();
            SessionsController  sCtrl = SessionsController.Instance;

            tablePackagesGridView.UseWaitCursor = true;
            try {
                tablePackagesGridView.DataSource = await eCtrl.GetTablePackages(sCtrl.EmployeeId);
            }
            catch (Exception) {
                MessageBox.Show("No connection to service");
            }
            tablePackagesGridView.UseWaitCursor = false;
            tablePackagesGridView.ClearSelection();
            tablePackagesGridView.CurrentCell = null;
        }
        public void DeleteSession_NotFail_Test()
        {
            bool called          = false;
            var  expectedSession = new Session()
            {
                SessionId = 1, EventDefinitionId = 1
            };

            var eventDefinition = new EventDefinition()
            {
                OrganizerId = 1
            };
            IEventDefinitionRepository eventRepository = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.AreEqual(expectedSession.EventDefinitionId, id);
                    return(eventDefinition);
                }
            };

            ISessionRepository sessionRepository = new StubISessionRepository()
            {
                DeleteInt32 = sessionId =>
                {
                    Assert.AreEqual(expectedSession.SessionId, sessionId);
                    called = true;
                },
                GetInt32 = (sessionId) =>
                {
                    Assert.AreEqual(expectedSession.SessionId, sessionId);
                    return(expectedSession);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(eventDefinition.OrganizerId); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };
                var target = new SessionsController(sessionRepository, eventRepository);

                target.Delete(expectedSession.SessionId);

                Assert.IsTrue(called);
            }
        }
Esempio n. 3
0
        public void TestPostOneIDInUse()
        {
            //Arrange
            Session s = new Session()
            {
                ID = 1,
                Key = "asljdhliajhbdkjh209837",
                UserID = 11
            };
            SessionsController controller = new SessionsController();

            //Act
            IActionResult response = controller.Post(s);
            StatusCodeResult result = response as StatusCodeResult;
            //Assert
            Assert.AreEqual(result.StatusCode, 409);
        }
Esempio n. 4
0
        public void TestPostOne()
        {
            //Arrange
            Session s = new Session()
            {
                ID = 1,
                Key = "0PYP4EZLC2Y6YGRSP01S7TOKVQUVMW4D",
                UserID = 27
            };
            SessionsController controller = new SessionsController();

            //Act
            IActionResult response = controller.Post(s);
            CreatedAtActionResult result = response as CreatedAtActionResult;
            //Assert
            Assert.AreEqual(result.StatusCode, 201);
        }
Esempio n. 5
0
        public void TestUpdateOneIDOutOfRange()
        {
            //Arrange
            Session s = new Session()
            {
                Key = "changedtext",
                ID = 8,
                UserID = 11
            };
            SessionsController controller = new SessionsController();

            //Act
            StatusCodeResult response = (StatusCodeResult)controller.Put(8, s);

            //Assert
            Assert.AreEqual(response.StatusCode, StatusCodes.Status404NotFound);
        }
Esempio n. 6
0
        public void TestUpdateOneIDMismatch()
        {
            //Arrange
            Session s = new Session()
            {
                Key = "changedtext",
                ID = 2,
                UserID = 11
            };
            SessionsController controller = new SessionsController();

            //Act
            StatusCodeResult response = (StatusCodeResult)controller.Put(9, s);

            //Assert
            Assert.AreEqual(response.StatusCode, StatusCodes.Status400BadRequest);
        }
Esempio n. 7
0
        public void TestUpdateOne()
        {
            //Arrange

            Session s = new Session()
            {
                Key = "changedtext",
                ID = 5,
                UserID = 11
            };
            SessionsController controller = new SessionsController();

            //Act
            StatusCodeResult response = (StatusCodeResult)controller.Put(5, s);

            //Assert
            Assert.AreEqual(response.StatusCode, 200);
        }
        public void PutSessionPeriod_UnauthorizedException_Test()
        {
            int      expectedSessionId = 5;
            int      duration          = 10;
            DateTime startTime         = DateTime.Now;
            var      expectedSession   = new Session()
            {
                SessionId = expectedSessionId, EventDefinitionId = 1
            };
            var eventDefinition = new EventDefinition()
            {
                OrganizerId = 1
            };

            IEventDefinitionRepository eventRepository = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.AreEqual(expectedSession.EventDefinitionId, id);
                    return(eventDefinition);
                }
            };

            ISessionRepository sessionRepository = new StubISessionRepository()

            {
                GetInt32 = (sessionId) =>
                {
                    Assert.AreEqual(expectedSessionId, sessionId);
                    return(expectedSession);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(1000); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new SessionsController(sessionRepository, eventRepository);

                target.PutSessionPeriod(expectedSessionId, startTime.ToString(), duration);
            }
        }
Esempio n. 9
0
        public async void AddDataToTable()
        {
            EmployeesController eCtrl = new EmployeesController();
            SessionsController  sCtrl = SessionsController.Instance;

            employeesGridView.UseWaitCursor = true;
            try {
                employeesGridView.DataSource = await eCtrl.GetEmployees(sCtrl.EmployeeId);
            }
            catch (Exception) {
                MessageBox.Show("No connection to service");
            }
            employeesGridView.Columns["Password"].Visible = false;
            employeesGridView.Columns["Salt"].Visible     = false;
            employeesGridView.Columns["Venues"].Visible   = false;
            employeesGridView.UseWaitCursor = false;
            employeesGridView.ClearSelection();
            employeesGridView.CurrentCell = null;
        }
        public async Task Should_Return_200_Status_Code_With_Valid_ViewModel()
        {
            // Arrange
            var data = new LoginViewModel()
            {
                Email    = "*****@*****.**",
                Password = "******"
            };

            var session = new SessionViewModel()
            {
                Id        = 1,
                Email     = "*****@*****.**",
                Token     = "JWTToken",
                ValidFrom = DateTime.Now,
                ValidTo   = DateTime.Today.AddDays(1),
            };

            adminAuthentication.Setup(obj => obj.AuthenticateAdmin(data))
            .ReturnsAsync(session);

            mapper.Setup(x => x.Map <SessionViewModel>(session))
            .Returns(new SessionViewModel()
            {
                Id        = session.Id,
                Email     = session.Email,
                Token     = session.Token,
                ValidFrom = session.ValidFrom,
                ValidTo   = session.ValidTo
            });

            var sessionsController = new SessionsController(
                adminAuthentication.Object,
                mapper.Object
                );

            // Act
            var response = await sessionsController.Create(data);

            // Assert
            Assert.NotNull(response);
            Assert.IsType <OkObjectResult>(response.Result);
        }
Esempio n. 11
0
        public SessionsControllerTest()
        {
            var dbOptions = DbInMemory.getDbInMemoryOptions(dbName);

            db          = new TCSContext(dbOptions);
            sessionRepo = new SessionRepo(dbOptions);
            var personRepo        = new PersonRepo(dbOptions);
            var semesterRepo      = new SemesterRepo(dbOptions);
            var sessionClassRepo  = new SessionClassRepo(dbOptions);
            var sessionReasonRepo = new SessionReasonRepo(dbOptions);
            var reasonRepo        = new ReasonRepo(dbOptions);
            var classRepo         = new ClassRepo(dbOptions);

            csvParser = new CSVSessionUploadParser();
            var mapper      = Utils.GetProjectMapper();
            var unitSession = new UnitOfWorkSession(personRepo, reasonRepo, sessionRepo, classRepo, semesterRepo);

            sessionController = new SessionsController(sessionRepo, semesterRepo, personRepo, sessionReasonRepo, sessionClassRepo, mapper, csvParser, unitSession);
        }
        public async Task Should_Throw_Exception_With_Invalid_ViewModel()
        {
            // Arrange
            var data = new LoginViewModel()
            {
                Email    = null,
                Password = null
            };

            var sessionsController = new SessionsController(
                adminAuthentication.Object,
                mapper.Object
                );

            // Act
            var response = await sessionsController.Create(data);

            // Assert
            Assert.NotNull(response);
            Assert.IsType <BadRequestObjectResult>(response.Result);
        }
        [Ignore] // TODO: fix tests
        public void CannotLoginWithInvalidCredentials()
        {
            var authService = new Mock <IAuthenticationService>();
            var logger      = new Mock <ILogger>();

            authService.Setup(s => s.Login(It.IsAny <Organization>(),
                                           "*****@*****.**", "badpw", false)).Returns(false);

            var viewModel = new LoginInput
            {
                Email      = "*****@*****.**",
                Password   = "******",
                RememberMe = false
            };

            var controller = new SessionsController(authService.Object, logger.Object);

            var result = controller.Create(viewModel, "/admin");

            Assert.IsInstanceOfType(result, typeof(ViewResult));
            Assert.IsFalse(((ViewResult)result).ViewData.ModelState.IsValid);
        }
        public void PutSessionPeriod_SessionNotFound_NotFail_Test()
        {
            int      expectedSessionId = 5;
            int      duration          = 10;
            DateTime startTime         = DateTime.Now;
            bool     getCalled         = false;
            bool     updateCalled      = false;
            var      expectedSession   = new Session()
            {
                SessionId = expectedSessionId
            };

            IEventDefinitionRepository eventRepository   = new StubIEventDefinitionRepository();
            ISessionRepository         sessionRepository = new StubISessionRepository()

            {
                GetInt32 = (sessionId) =>
                {
                    Assert.AreEqual(expectedSessionId, sessionId);
                    getCalled = true;
                    return(null);
                },
                UpdateSession = session =>
                {
                    Assert.AreEqual(expectedSessionId, session.SessionId);
                    Assert.AreEqual(startTime, session.StartTime);
                    Assert.AreEqual(duration, session.Duration);
                    updateCalled = true;
                }
            };

            var target = new SessionsController(sessionRepository, eventRepository);

            target.PutSessionPeriod(expectedSessionId, startTime.ToString(), duration);

            Assert.IsTrue(getCalled);
            Assert.IsFalse(updateCalled);
        }
Esempio n. 15
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        public SessionsControllerTestHarness(bool shouldOpenDatabaseConnection, bool shouldCommitDatabaseTransaction)
        {
            // Build the mocked database objects.
            this.MockedDatabaseTransaction        = new Mock <IDatabaseTransaction>(MockBehavior.Strict);
            this.MockedDatabaseConnection         = new Mock <IDatabaseConnection>(MockBehavior.Strict);
            this.MockedDatabaseConnectionProvider = new Mock <IDatabaseConnectionProvider>(MockBehavior.Strict);

            // Mock the database connection.
            if (shouldOpenDatabaseConnection)
            {
                // Verify the database connection is opened.
                this.MockedDatabaseConnectionProvider
                .Setup(mock => mock.OpenDatabaseConnection())
                .Returns(Task.FromResult <IDatabaseConnection>(this.MockedDatabaseConnection.Object))
                .Verifiable();

                // Verify the database transaction begins.
                this.MockedDatabaseConnection
                .Setup(mock => mock.BeginDatabaseTransaction())
                .Returns(this.MockedDatabaseTransaction.Object)
                .Verifiable();

                // Verify the database transaction is disposed.
                this.MockedDatabaseTransaction
                .Setup(mock => mock.Dispose())
                .Verifiable();

                // Verify the database connection is disposed.
                this.MockedDatabaseConnection
                .Setup(mock => mock.Dispose())
                .Verifiable();
            }

            // Mock the database transaction.
            if (shouldCommitDatabaseTransaction)
            {
                // Verify the database transaction is committed.
                this.MockedDatabaseTransaction
                .Setup(mock => mock.Commit())
                .Verifiable();
            }

            // Build the mocked Scheduling business logic component.
            this.MockedSchedulingBusinessLogicComponent = new Mock <ISchedulingBusinessLogicComponent>(MockBehavior.Strict);

            // Build the Sessions controller.
            this.SessionsController = new SessionsController(this.MockedDatabaseConnectionProvider.Object, this.MockedSchedulingBusinessLogicComponent.Object);

            // Build the HTTP configuration.
            HttpConfiguration httpConfiguration = new HttpConfiguration();

            GlobalHttpApplication.ConfigureApplication(httpConfiguration);

            // Build the mocked dependency resolver.
            MockedDependencyResolver mockedDependencyResolver = new MockedDependencyResolver();

            mockedDependencyResolver.Setup(mock => mock.GetService(typeof(SessionsController)))
            .Returns(this.SessionsController);

            // Set the mocked dependency resolver.
            httpConfiguration.DependencyResolver = mockedDependencyResolver.Object;

            // Build the in memory HTTP server.
            HttpServer httpServer = new HttpServer(httpConfiguration);

            // Build the HTTP client.
            this.HttpClient = new HttpClient(httpServer);
        }
Esempio n. 16
0
        private void BtnLogOut_Click(object sender, EventArgs e)
        {
            SessionsController sCtrl = new SessionsController();

            sCtrl.LogOut();
        }
Esempio n. 17
0
 public VenueGUI()
 {
     InitializeComponent();
     this.ActiveControl = BtnSaveChanges;
     sCtrl = SessionsController.Instance;
 }
 public void SessionsController_Contructor_NotFail_Test()
 {
     ISessionRepository         sessionRepository = new StubISessionRepository();
     IEventDefinitionRepository eventRepository   = new StubIEventDefinitionRepository();
     var target = new SessionsController(sessionRepository, eventRepository);
 }
Esempio n. 19
0
 public EmployeeGUI()
 {
     InitializeComponent();
     sCtrl = SessionsController.Instance;
 }
 public void SessionsController_ContructorEventWithNullDependency_Fail_Test()
 {
     ISessionRepository         sessionRepository = new StubISessionRepository();
     IEventDefinitionRepository eventRepository   = new StubIEventDefinitionRepository();
     var target = new SessionsController(sessionRepository, null);
 }