public void Given_Employee_is_GeneralUser_When_IsEmployeeAbleToCompleteReviewTask_Then_CanCompleteReviewTask_is_false()
        {
            // Given
            _target = GetTarget();

            // When
            dynamic result = _target.IsEmployeeAbleToCompleteReviewTask(_employeeId, _companyId);

            // Then
            Assert.IsFalse(result.Data.CanCompleteReviewTask);
        }
        public void Given_When_IsEmployeeAbleToCompleteReviewTask_Then_returns_json()
        {
            // Given
            _target = GetTarget();

            // When
            var result = _target.IsEmployeeAbleToCompleteReviewTask(_employeeId, _companyId);

            // Then
            Assert.That(result, Is.InstanceOf<JsonResult>());
            Assert.That(result.JsonRequestBehavior, Is.EqualTo(JsonRequestBehavior.AllowGet));
        }
        public void Given_Employee_is_not_GeneralUser_When_IsEmployeeAbleToCompleteReviewTask_Then__CanCompleteReviewTask_is_true()
        {
            // Given
            _employeeService = new Mock<IEmployeeService>();
            _employeeService
                .Setup(x => x.GetEmployee(_employeeId, _companyId))
                .Returns(new EmployeeDto()
                {
                    User = new UserDto()
                    {
                        Id = Guid.NewGuid(),
                        Role = new RoleDto() { Name = "LordOfAllThings" }
                    }
                });
            _target = GetTarget();

            // When
            dynamic result = _target.IsEmployeeAbleToCompleteReviewTask(_employeeId, _companyId);

            // Then
            Assert.IsTrue(result.Data.CanCompleteReviewTask);
        }
        public void Given_Employee_is_not_a_User_When_IsEmployeeAbleToCompleteReviewTask_Then_CanCompleteReviewTask_is_false()
        {
            // Given
            _employeeService = new Mock<IEmployeeService>();
            _employeeService
                .Setup(x => x.GetEmployee(_employeeId, _companyId))
                .Returns(new EmployeeDto());
            _target = GetTarget();

            // When
            dynamic result = _target.IsEmployeeAbleToCompleteReviewTask(_employeeId, _companyId);

            // Then
            Assert.IsFalse(result.Data.CanCompleteReviewTask);
        }
        public void Given_EmployeeId_empty_Guid_When_IsEmployeeAbleToCompleteReviewTask_Then_IsUser_is_false_and_CanCompleteReviewTask_is_false()
        {
            // Given
            _target = GetTarget();

            // When
            dynamic result = _target.IsEmployeeAbleToCompleteReviewTask(Guid.Empty, _companyId);
            
            // Then
            Assert.IsFalse(result.Data.IsUser);
            Assert.IsFalse(result.Data.CanCompleteReviewTask);
        }
        public void Given_Employee_is_a_User_When_IsEmployeeAbleToCompleteReviewTask_Then_IsUser_is_true()
        {
            // Given
            _target = GetTarget();

            // When
            dynamic result = _target.IsEmployeeAbleToCompleteReviewTask(_employeeId, _companyId);

            // Then
            Assert.IsTrue(result.Data.IsUser);
        }