/// <summary>
        /// Loads the report page where the user can select a report to run.
        /// </summary>
        private void CreateReportPage()
        {
            // Set the model indicating that there is currently no KPA or KPI being viewed.
            topHandleBarModel.Update("N/A", "N/A", "N/A");

            FlowLayoutPanel wrapPanel = new FlowLayoutPanel()
            {
                Name = "Reports",
                Dock = DockStyle.Fill
            };

            Control[] reportingControls = new Control[]
            {
                new ComparisonReportingWidget()
                {
                    Margin = new Padding(10, 10, 0, 0)
                }
            };


            // Add the controls to the wrap panel
            wrapPanel.Controls.AddRange(reportingControls);

            pnl_activePage.Controls.Add(wrapPanel);
            wrapPanel.BringToFront();

            // Lock the navigation functionality
            navigationSettings.Visible = Navigation.Visibility.Open;

            // Create and register the reporting controller
            reportingWidgetsController = new ReportingController(reportingControls[0] as IComparisonReportingWidgetView);
            reportingWidgetsController.RegisterComparisonReportGenerationEvents(ComparisonReportGeneration);
        }
Beispiel #2
0
        public void GetAverageScoreForInstructorByInstructorId_WhereInstructorExists_ReturnsAverageOfAllRatingsForInstructor([Values(1, 2, 3)] int instructorId)
        {
            //arrange
            var expectedScore =
                _ratingsList.Where(x => x.InstructorId == instructorId).Select(x => x.InstructorRating).Average();
            var expectedResponse = new OverallInstructorRatingDTO()
            {
                InstructorId            = instructorId,
                OverallInstructorRating = expectedScore
            };

            IReportingService reportingService = Mock.Create <IReportingService>();

            Mock.Arrange(() => reportingService.GetAverageRatingForInstructor(instructorId)).Returns(expectedResponse);

            var reportingController = new ReportingController(reportingService);

            //act
            var actual        = reportingController.GetAverageRatingForInstructor(instructorId) as OkNegotiatedContentResult <OverallInstructorRatingDTO>;
            var actualContent = actual.Content;

            //assert
            Mock.Assert(reportingService);
            Assert.That(actual, Is.Not.Null);
            Assert.That(actual, Is.TypeOf(typeof(OkNegotiatedContentResult <OverallInstructorRatingDTO>)));
            Assert.That(actualContent, Is.EqualTo(expectedResponse));
        }
        public void Setup()
        {
            mockHeartbeatController = new Mock <IHeartbeat>();
            // mockHeartbeatController.Setup(c => c.AddHeartbeat(It.IsAny<string>()));
            mockHeartbeatController.Setup(c => c.AddHeartbeat("1"));

            mockRecurrence = new Recurrence {
                RecurrenceId = "1", Doses = new List <Dose>()
            };
            mockRecurrenceRepo = new List <Recurrence> {
                mockRecurrence
            }.AsQueryable();
            mockDoseRepo = new List <Dose>().AsQueryable();

            mockDataContext = new AppDataContext();

            // setup the mock database
            recurrenceDbSet = new Mock <DbSet <Recurrence> >();
            doseDbSet       = new Mock <DbSet <Dose> >();
            // recurrenceDbSet
            // .Setup(d => d.FindAsync(It.IsAny<string>()))
            // .Returns(new Task<Recurrence>(() => null));
            recurrenceDbSet.As <IQueryable <Recurrence> >().Setup(m => m.Provider).Returns(mockRecurrenceRepo.Provider);
            recurrenceDbSet.As <IQueryable <Recurrence> >().Setup(m => m.Expression).Returns(mockRecurrenceRepo.Expression);
            recurrenceDbSet.As <IQueryable <Recurrence> >().Setup(m => m.ElementType).Returns(mockRecurrenceRepo.ElementType);
            recurrenceDbSet.As <IQueryable <Recurrence> >().Setup(m => m.GetEnumerator()).Returns(mockRecurrenceRepo.GetEnumerator());
            mockDataContext.Recurrence = recurrenceDbSet.Object;

            controller = new ReportingController(mockHeartbeatController.Object, mockDataContext);
        }
Beispiel #4
0
        public void DeleteTimeReport_ThrowsInternalServerErrorException(RegistriesDelete registries)
        {
            //Arrange
            Registry reg1 = new Registry
            {
                RegistryId = 1,
                TaskId     = 1,
                UserId     = 1,
                Hours      = 2,
                Created    = new DateTime(2021 - 01 - 04),
                Date       = new DateTime(2021 - 01 - 04),
                Invoice    = InvoiceType.Invoicable
            };
            List <Registry> mockedRegistries = new List <Registry> {
                reg1
            };

            Mock <IRegistryRepository> registryRepoMock = new Mock <IRegistryRepository>();

            registryRepoMock.Setup(r => r.GetById(1)).Returns(reg1);
            registryRepoMock.Setup(r => r.Delete(It.IsAny <object>())).Throws <Exception>();

            Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>();

            mockUOF.Setup(uow => uow.RegistryRepository).Returns(registryRepoMock.Object);

            var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock);

            //Act
            var result = controller.DeleteTimeReport(registries);

            //Assert
            Assert.IsType <ActionResult <HttpResponse> >(result);
            Assert.Equal((int)HttpStatusCode.InternalServerError, (result.Result as ObjectResult).StatusCode);
        }
Beispiel #5
0
        public void DeleteTimeReport_SuccessTest(RegistriesDelete registries)
        {
            //Arrange
            List <Registry>            weekRegistries   = GetTestRegistries();
            Mock <IRegistryRepository> registryRepoMock = new Mock <IRegistryRepository>();

            registryRepoMock.Setup(r => r.GetById(1)).Returns(weekRegistries[0]);
            registryRepoMock.Setup(r => r.GetById(2)).Returns(weekRegistries[1]);
            registryRepoMock.Setup(r => r.GetById(3)).Returns(weekRegistries[2]);

            registryRepoMock.Setup(r => r.Delete(It.IsAny <object>())).Callback <object>(regId => weekRegistries.RemoveAll(reg => reg.RegistryId == (int)regId));
            registryRepoMock.Setup(r => r.Save());

            Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>();

            mockUOF.Setup(uow => uow.RegistryRepository).Returns(registryRepoMock.Object);

            var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock);

            //Act
            var result = controller.DeleteTimeReport(registries);

            //Assert
            Assert.IsType <ActionResult <HttpResponse> >(result);
            Assert.Equal((int)HttpStatusCode.OK, (result.Result as StatusCodeResult).StatusCode);
            Assert.Empty(weekRegistries);
            registryRepoMock.Verify(r => r.Delete(It.IsAny <object>()), Times.Exactly(3));
            registryRepoMock.Verify(r => r.Save(), Times.Once);
        }
Beispiel #6
0
        [InlineData("2019-02-01", "2019-02-28T23:59:59")] // Not leap year
        public void EndOfMonthCalculationIsCorrect(string input, string expected)
        {
            var dto         = ParseDate(input);
            var expectedDTO = ParseDate(expected);

            var actual = ReportingController.EndOfMonth(dto);

            Assert.Equal(expectedDTO, actual);
        }
Beispiel #7
0
        public void AddTimeReport_ThrowsAccessViolationException(Registries newRegistries)
        {
            newRegistries.RegistriesToReport[0].UserId = 2;

            Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>();

            var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock);
            //Act
            var result = controller.AddTimeReport(newRegistries);

            //Assert
            Assert.IsType <ActionResult <HttpResponse> >(result);
            Assert.Equal((int)HttpStatusCode.Forbidden, (result.Result as ObjectResult).StatusCode);
        }
        public void Run()
        {
            var     file   = new ReportingController().Download("PAY_SLIP") as FileContentResult;
            Boolean result = ByteArrayToFile(file.FileDownloadName, file.FileContents);

            Dbg("ByteArrayToFile result", result);


            Byte[] modified = UpdateCreatedDateAndUpdatedDateOfExcel((Stream)File.Open(file.FileDownloadName, FileMode.OpenOrCreate, FileAccess.ReadWrite), DateTime.Now);
            ByteArrayToFile(file.FileDownloadName, modified);

            //NOTE: Must have excel installed
            //new Process { StartInfo = new ProcessStartInfo("excel", file.FileDownloadName) }.Start();

            Dbg("AppDomain.CurrentDomain.BaseDirectory", AppDomain.CurrentDomain.BaseDirectory);
            Dbg("Get all current domain's assemblies", AppDomain.CurrentDomain.GetAssemblies().Select(assm => assm.GetName().Name));
        }
Beispiel #9
0
        public void GetAverageScoreForInstructorByInstructorId_WhereInstructorDoesntExist_ReturnsNotFoundResult([Values(100, 200, 300)] int instructorId)
        {
            //arrange
            OverallInstructorRatingDTO expected = null;

            IReportingService reportingService = Mock.Create <IReportingService>();

            Mock.Arrange(() => reportingService.GetAverageRatingForInstructor(instructorId)).Returns(expected);

            var reportingController = new ReportingController(reportingService);

            //act
            var actual = reportingController.GetAverageRatingForInstructor(instructorId) as NotFoundResult;

            //assert
            Mock.Assert(reportingService);
            Assert.That(actual, Is.Not.Null);
            Assert.That(actual, Is.TypeOf(typeof(NotFoundResult)));
        }
Beispiel #10
0
        public void GetWeekTemplates_SuccessTest(DateTime todaysDate)
        {
            //Arrange
            List <Registry> weekRegistries = GetTestRegistries();
            List <Mission>  missions       = GetTestMissions();
            List <Task>     tasks          = GetTestTasks();

            Mock <IRegistryRepository> registryRepoMock = new Mock <IRegistryRepository>();

            registryRepoMock.SetupSequence(r => r.GetRegistriesByDate(It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <int>()))
            .Returns(weekRegistries)
            .Returns(new List <Registry>())
            .Returns(new List <Registry>())
            .Returns(new List <Registry>())
            .Returns(new List <Registry>());

            Mock <IMissionRepository> missionRepoMock = new Mock <IMissionRepository>();

            missionRepoMock.Setup(r => r.GetById(1)).Returns(missions[0]);
            missionRepoMock.Setup(r => r.GetById(2)).Returns(missions[1]);

            Mock <ITaskRepository> taskRepoMock = new Mock <ITaskRepository>();

            taskRepoMock.Setup(r => r.GetById(1)).Returns(tasks[0]);
            taskRepoMock.Setup(r => r.GetById(2)).Returns(tasks[1]);

            Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>();

            mockUOF.Setup(uow => uow.RegistryRepository).Returns(registryRepoMock.Object);
            mockUOF.Setup(uow => uow.MissionRepository).Returns(missionRepoMock.Object);
            mockUOF.Setup(uow => uow.TaskRepository).Returns(taskRepoMock.Object);

            var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock);

            //Act
            var result = controller.GetWeekTemplates(todaysDate);

            //Assert
            Assert.IsType <ActionResult <List <WeekTemplateViewModel> > >(result);
            registryRepoMock.Verify(r => r.GetRegistriesByDate(It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <int>()), Times.Exactly(5));
            Assert.Single(result.Value);
        }
Beispiel #11
0
        public void GetFavoriteMissions_ThrowsInternalServerErrorException()
        {
            //Arrange
            Mock <IFavoriteMissionRepository> favoriteMissionRepoMock = new Mock <IFavoriteMissionRepository>();

            favoriteMissionRepoMock.Setup(r => r.GetFavoriteMissionsById(1)).Throws <Exception>();

            Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>();

            mockUOF.Setup(uow => uow.FavoriteMissionRepository).Returns(favoriteMissionRepoMock.Object);

            var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock);

            //Act
            var result = controller.GetFavoriteMissions();

            //Assert
            Assert.IsType <ActionResult <List <MissionTaskViewModel> > >(result);
            Assert.Equal((int)HttpStatusCode.InternalServerError, (result.Result as ObjectResult).StatusCode);
        }
Beispiel #12
0
        public void GetWeekTemplates_ThrowsInternalServerErrorException(DateTime todaysDate)
        {
            //Arrange
            Mock <IRegistryRepository> registryRepoMock = new Mock <IRegistryRepository>();

            registryRepoMock.Setup(r => r.GetLatestRegistries(It.IsAny <int>(), It.IsAny <int>())).Throws <Exception>();

            Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>();

            mockUOF.Setup(uow => uow.RegistryRepository).Returns(registryRepoMock.Object);

            var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock);

            //Act
            var result = controller.GetWeekTemplates(todaysDate);

            //Assert
            Assert.IsType <ActionResult <List <WeekTemplateViewModel> > >(result);
            Assert.Equal((int)HttpStatusCode.InternalServerError, (result.Result as ObjectResult).StatusCode);
        }
        public HttpResponseMessage AuthorizedReport(int id)
        {
            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, "AuthorizedReport");

            ReportingController controller = new ReportingController();

            RouteData route = new RouteData();

            route.Values.Add("action", "GetReportByte");
            route.Values.Add("controller", "Reporting");

            System.Web.Mvc.ControllerContext newContext = new System.Web.Mvc.ControllerContext
                                                              (new HttpContextWrapper(System.Web.HttpContext.Current), route, controller);
            controller.ControllerContext = newContext;

            var fileDownload = controller.GetReportByte(id);

            response.Content = new ByteArrayContent(fileDownload.MainData);
            response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
            response.ReasonPhrase = fileDownload.FileName;
            return(response);
        }
Beispiel #14
0
        public void AddTimeReport_SuccessTest(Registries newRegistries)
        {
            //Arrange
            Mock <IRegistryRepository> registryRepoMock = new Mock <IRegistryRepository>();

            registryRepoMock.Setup(r => r.Insert(It.IsAny <Registry>()));
            registryRepoMock.Setup(r => r.Update(It.IsAny <Registry>()));
            registryRepoMock.Setup(r => r.Save());

            Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>();

            mockUOF.Setup(uow => uow.RegistryRepository).Returns(registryRepoMock.Object);

            var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock);

            //Act
            var result = controller.AddTimeReport(newRegistries);

            //Assert
            Assert.IsType <ActionResult <HttpResponse> >(result);
            Assert.Equal((int)HttpStatusCode.OK, (result.Result as StatusCodeResult).StatusCode);
        }
Beispiel #15
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Session["LoginSession"] == null)
     {
         Response.Redirect("../HomeView/Home.aspx");
     }
     else
     {
         String ID   = Session["LoginSession"].ToString();
         MsUser user = HomeController.FetchDataForHome(ID);
         if (user.RoleID == "RL1")
         {
             CrystalReport1 report  = new CrystalReport1();
             DataSet1       dataset = ReportingController.GetDataSet();
             report.SetDataSource(dataset);
             CrystalReportViewer1.ReportSource = report;
         }
         else
         {
             Response.Redirect("../HomeView/Home.aspx");
         }
     }
 }
Beispiel #16
0
        public void GetLatestRegistries_SuccessTest()
        {
            //Arrange
            List <Registry> weekRegistries = GetTestRegistries();
            List <Mission>  missions       = GetTestMissions();
            List <Task>     tasks          = GetTestTasks();

            Mock <IRegistryRepository> registryRepoMock = new Mock <IRegistryRepository>();

            registryRepoMock.Setup(r => r.GetLatestRegistries(It.IsAny <int>(), It.IsAny <int>())).Returns(weekRegistries);

            Mock <IMissionRepository> missionRepoMock = new Mock <IMissionRepository>();

            missionRepoMock.Setup(r => r.GetById(1)).Returns(missions[0]);
            missionRepoMock.Setup(r => r.GetById(2)).Returns(missions[1]);

            Mock <ITaskRepository> taskRepoMock = new Mock <ITaskRepository>();

            taskRepoMock.Setup(r => r.GetById(1)).Returns(tasks[0]);
            taskRepoMock.Setup(r => r.GetById(2)).Returns(tasks[1]);

            Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>();

            mockUOF.Setup(uow => uow.RegistryRepository).Returns(registryRepoMock.Object);
            mockUOF.Setup(uow => uow.MissionRepository).Returns(missionRepoMock.Object);
            mockUOF.Setup(uow => uow.TaskRepository).Returns(taskRepoMock.Object);

            var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock);

            //Act
            var result = controller.GetLatestregistries();

            //Assert
            Assert.IsType <ActionResult <List <RegistryViewModel> > >(result);
            Assert.Equal(3, result.Value.Count);
        }
Beispiel #17
0
        public void AddTimeReport_ThrowsInternalServerErrorException(Registries newRegistries)
        {
            //Arrange

            newRegistries.RegistriesToReport[0].RegistryId = 1;

            Mock <IRegistryRepository> registryRepoMock = new Mock <IRegistryRepository>();

            registryRepoMock.Setup(r => r.Insert(It.IsAny <Registry>()));
            registryRepoMock.Setup(r => r.Update(It.IsAny <Registry>())).Throws <Exception>();
            registryRepoMock.Setup(r => r.Save());

            Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>();

            mockUOF.Setup(uow => uow.RegistryRepository).Returns(registryRepoMock.Object);

            var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock);
            //Act
            var result = controller.AddTimeReport(newRegistries);

            //Assert
            Assert.IsType <ActionResult <HttpResponse> >(result);
            Assert.Equal((int)HttpStatusCode.InternalServerError, (result.Result as ObjectResult).StatusCode);
        }
Beispiel #18
0
        public void GetFavoriteMissions_SuccessTest()
        {
            //Arrange
            List <Registry> weekRegistries = GetTestRegistries();
            List <Task>     tasks          = new List <Task>
            {
                new Task
                {
                    TaskId        = 1,
                    UserId        = 1,
                    MissionId     = 1,
                    Status        = 0,
                    ActualHours   = null,
                    Created       = new DateTime(2020, 10, 5),
                    Description   = "DHL Project 1 Task1",
                    EstimatedHour = 8.30,
                    Invoice       = InvoiceType.Invoicable,
                    Name          = "Task1 DHL Project1",
                    Start         = new DateTime(2020, 10, 6),
                    Finished      = null
                }
            };
            List <FavoriteMission> favoriteMissions = new List <FavoriteMission>
            {
                new FavoriteMission {
                    UserId = 1, MissionId = 1
                }
            };

            Mission mission = new Mission
            {
                MissionId   = 1,
                Created     = new DateTime(2020, 8, 5),
                Description = "Project1 for DHL",
                Finished    = null,
                MissionName = "DHL Project1",
                Color       = "#F0D87B",
                Start       = new DateTime(2020, 8, 6),
                Status      = 1,
                UserId      = 1,
                CustomerId  = 1
            };

            Customer customer = new Customer {
                CustomerId = 1,
                Name       = "Customer1",
                Created    = new DateTime(2020 - 10 - 22)
            };

            Mock <IMissionRepository> missionRepoMock = new Mock <IMissionRepository>();

            missionRepoMock.Setup(r => r.GetById(1)).Returns(mission);

            Mock <ITaskRepository> taskRepoMock = new Mock <ITaskRepository>();

            taskRepoMock.Setup(r => r.GetAllByMissionId(1)).Returns(tasks);

            Mock <ICustomerRepository> customerRepoMock = new Mock <ICustomerRepository>();

            customerRepoMock.Setup(r => r.GetById(1)).Returns(customer);

            Mock <IFavoriteMissionRepository> favoriteMissionRepoMock = new Mock <IFavoriteMissionRepository>();

            favoriteMissionRepoMock.Setup(r => r.GetFavoriteMissionsById(1)).Returns(favoriteMissions);

            Mock <IUnitOfWork> mockUOF = new Mock <IUnitOfWork>();

            mockUOF.Setup(uow => uow.MissionRepository).Returns(missionRepoMock.Object);
            mockUOF.Setup(uow => uow.TaskRepository).Returns(taskRepoMock.Object);
            mockUOF.Setup(uow => uow.CustomerRepository).Returns(customerRepoMock.Object);
            mockUOF.Setup(uow => uow.FavoriteMissionRepository).Returns(favoriteMissionRepoMock.Object);

            var controller = new ReportingController(mockUOF.Object, httpContextAccessorMock);

            //Act
            var result = controller.GetFavoriteMissions();

            //Assert
            Assert.IsType <ActionResult <List <MissionTaskViewModel> > >(result);
            Assert.Single(result.Value);
        }