예제 #1
0
        public CreateIssueView(UserModel userModel, IssueModel issueModel, ProjectModel projectModel, ProjectMemberModel projectMemberModel)
            : base(userModel, issueModel, projectModel, projectMemberModel)
        {
            InitializeComponent();
            this.userModel          = userModel;
            this.issueModel         = issueModel;
            this.projectModel       = projectModel;
            this.projectMemberModel = projectMemberModel;

            issueController         = new IssueController(userModel, issueModel, projectModel);
            projectMemberController = new ProjectMemberController(projectMemberModel, userModel);
            user = SecurityModel.getInstance().AuthenticatedUser;
            userModel.updateAuthenticatedUser(user.UserId);
            projectList = user.JoinedProjects;
            foreach (Project project in projectList)
            {
                projectComboBox.Items.Add(project);
            }
            if (projectList.Count > 0)
            {
                projectComboBox.SelectedIndex = 0;
            }
            issuePriorityComboBox.SelectedIndex = 0;
            issueSeverityComboBox.SelectedIndex = 0;
        }
        public async void CreateProjectMember_ReturnsCreatedProjectMember()
        {
            _projectMemberService
            .Setup(s => s.AddProjectMember(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(1);
            _projectMemberService.Setup(s => s.GetProjectMemberById(It.IsAny <int>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync((int id, CancellationToken cancellationToken) =>
                          new ProjectMember
            {
                Id     = id,
                UserId = 1,
                ProjectMemberRoleId = 1
            });

            var controller = new ProjectMemberController(_projectMemberService.Object, _mapper, _logger.Object);

            var dto = new NewProjectMemberDto
            {
                ProjectId           = 1,
                UserId              = 1,
                ProjectMemberRoleId = 1
            };
            var result = await controller.CreateProjectMember(1, dto);

            var createAtRouteActionResult = Assert.IsType <CreatedAtRouteResult>(result);
            var returnValue = Assert.IsType <ProjectMemberDto>(createAtRouteActionResult.Value);

            Assert.Equal(1, returnValue.Id);
        }
        public async void DeleteProjectMember_ReturnsNoContent(string role)
        {
            _projectMemberService.Setup(s => s.GetProjectMemberById(It.IsAny <int>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync((int id, CancellationToken cancellationToken) =>
                          new ProjectMember
            {
                Id     = id,
                UserId = 1,
                ProjectMemberRoleId = 1
            });

            _projectMemberService.Setup(s => s.RemoveProjectMember(1, 1, role != UserRole.Administrator ? 1 : 0, It.IsAny <CancellationToken>()))
            .Returns(Task.CompletedTask);

            var httpContext = new DefaultHttpContext()
            {
                User = new ClaimsPrincipal(new[]
                {
                    new ClaimsIdentity(new[] { new Claim(ClaimTypes.NameIdentifier, "1") }),
                    new ClaimsIdentity(new[] { new Claim(ClaimTypes.Role, role) })
                })
            };

            var controller = new ProjectMemberController(_projectMemberService.Object, _mapper, _logger.Object)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = httpContext
                }
            };

            var result = await controller.RemoveProjectMember(1, 1);

            Assert.IsType <NoContentResult>(result);
        }
        public async void UpdateProjectMember_ReturnsBadRequest()
        {
            var controller = new ProjectMemberController(_projectMemberService.Object, _mapper, _logger.Object);

            var result = await controller.UpdateProjectMember(1, 1, new UpdateProjectMemberDto());

            var badRequestResult = Assert.IsType <BadRequestObjectResult>(result);

            Assert.Equal("Member Id doesn't match.", badRequestResult.Value);
        }
        public async void UpdateProjectMember_ReturnsSuccess()
        {
            _projectMemberService.Setup(s => s.UpdateProjectMemberRole(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <CancellationToken>())).Returns(Task.CompletedTask);

            var controller = new ProjectMemberController(_projectMemberService.Object, _mapper, _logger.Object);

            var result = await controller.UpdateProjectMember(1, 1, new UpdateProjectMemberDto
            {
                Id = 1
            });

            Assert.IsType <OkResult>(result);
        }
        public async void CreateProject_ReturnsBadRequest()
        {
            var controller = new ProjectMemberController(_projectMemberService.Object, _mapper, _logger.Object);

            var dto = new NewProjectMemberDto
            {
                ProjectMemberRoleId = 1
            };
            var result = await controller.CreateProjectMember(1, dto);

            var badRequestResult = Assert.IsType <BadRequestObjectResult>(result);

            Assert.Equal("Project Id doesn't match.", badRequestResult.Value);
        }
예제 #7
0
        public IssueInfoView(int issueId, UserModel userModel, IssueModel issueModel, ProjectModel projectModel, ProjectMemberModel projectMemberModel)
            : base(userModel, issueModel, projectModel, projectMemberModel)
        {
            InitializeComponent();
            this.userModel          = userModel;
            this.issueModel         = issueModel;
            this.projectModel       = projectModel;
            this.projectMemberModel = projectMemberModel;
            userController          = new UserController(userModel);
            issueController         = new IssueController(userModel, issueModel, projectModel);
            projectMemberController = new ProjectMemberController(projectMemberModel, userModel);

            issueDetails   = issueController.getIssueDetails(issueId);
            projectMembers = projectMemberController.getUserByProjectId(issueDetails[0].ProjectId, true);
        }
예제 #8
0
        public Member(UserModel userModel, IssueModel issueModel, ProjectModel projectModel, Project project, ProjectMemberModel projectMemberModel)
        {
            InitializeComponent();
            this.userModel                                    = userModel;
            this.issueModel                                   = issueModel;
            this.projectModel                                 = projectModel;
            this.project                                      = project;
            this.projectMemberModel                           = projectMemberModel;
            memberController                                  = new ProjectMemberController(projectMemberModel, userModel);
            _projectName.Text                                 = project.ProjectName;
            this.userModel.userDataChanged                   += UpdateView;
            this.projectModel.projectDataChanged             += UpdateView;
            this.projectMemberModel.projectMemberDataChanged += UpdateView;
            InitializeDataGridView(_dataGridView);
            InitializeDataGridView(_dataGridViewJoining);
            InitializeTabControl(_memberList);
            ShowData();
//            _dataGridView += dataGridView1_CellValueChanged;
        }
        public async void GetProjectMemberById_ReturnsProjectMember()
        {
            _projectMemberService.Setup(s => s.GetProjectMemberById(It.IsAny <int>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync((int id, CancellationToken cancellationToken) =>
                          new ProjectMember
            {
                Id     = id,
                UserId = 1,
                ProjectMemberRoleId = 1
            });

            var controller = new ProjectMemberController(_projectMemberService.Object, _mapper,
                                                         _logger.Object);

            var result = await controller.GetProjectMember(1, 1);

            var okActionResult = Assert.IsType <OkObjectResult>(result);
            var returnValue    = Assert.IsType <ProjectMemberDto>(okActionResult.Value);

            Assert.Equal(1, returnValue.Id);
        }
예제 #10
0
        public async void CreateProjectMemberNewUser_ReturnsCreatedProjectMember()
        {
            _projectMemberService
            .Setup(s => s.AddProjectMember(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Dictionary <string, string> >(), It.IsAny <int>(), "http://web", It.IsAny <CancellationToken>()))
            .ReturnsAsync((1, 1));
            _projectMemberService.Setup(s => s.GetProjectMemberById(It.IsAny <int>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync((int id, CancellationToken cancellationToken) =>
                          new ProjectMember
            {
                Id     = id,
                UserId = 1,
                ProjectMemberRoleId = 1
            });
            _configuration.SetupGet(s => s[ConfigurationKey.WebUrl]).Returns("http://web");

            var httpContext = new DefaultHttpContext()
            {
                Request = { Scheme = "https", Host = new HostString("localhost") }
            };

            var controller = new ProjectMemberController(_projectMemberService.Object, _mapper, _configuration.Object, _logger.Object)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = httpContext
                }
            };

            var dto = new NewProjectMemberDto
            {
                ProjectId           = 1,
                ProjectMemberRoleId = 1
            };
            var result = await controller.CreateProjectMember(1, dto);

            var createAtRouteActionResult = Assert.IsType <CreatedAtRouteResult>(result);
            var returnValue = Assert.IsType <ProjectMemberDto>(createAtRouteActionResult.Value);

            Assert.Equal(1, returnValue.Id);
        }
        public async void GetProjectMembers_ReturnsProjectMemberList()
        {
            _projectMemberService.Setup(s => s.GetProjectMembers(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new List <ProjectMember>
            {
                new ProjectMember
                {
                    Id     = 1,
                    UserId = 1,
                    ProjectMemberRoleId = 1
                }
            });

            var httpContext = new DefaultHttpContext()
            {
                User = new ClaimsPrincipal(new[]
                {
                    new ClaimsIdentity(new[] { new Claim(ClaimTypes.NameIdentifier, "1") })
                })
            };

            var controller = new ProjectMemberController(_projectMemberService.Object, _mapper,
                                                         _logger.Object)
            {
                ControllerContext = new ControllerContext {
                    HttpContext = httpContext
                }
            };

            var result = await controller.GetProjectMembers(1, 1);

            var okActionResult = Assert.IsType <OkObjectResult>(result);
            var returnValue    = Assert.IsType <List <ProjectMemberDto> >(okActionResult.Value);

            Assert.NotEmpty(returnValue);
        }