public CustomPrincipal Create(int companyId, Guid userId)
 {
     var userDto = GetUserDto(companyId, userId);
     var companyDto = GetCompanyDto(companyId);
     var customPrincipal = new CustomPrincipal(userDto, companyDto);
     return customPrincipal;
 }
        public void Given_feature_switch_not_in_config_When_request_if_feature_is_enabled_Then_should_return_true()
        {
            // Given
            var user = new CustomPrincipal(new UserDto(), new CompanyDto());

            // When
            var result = FeatureSwitchChecker.Enabled(FeatureSwitches.FeatureSwitch_SqlReports_For_GRA, user);

            // Then
            Assert.True(result);
        }
 public static CompleteFireRiskAssessmentChecklistRequest CreateCompleteRequest(this FireRiskAssessmentChecklistViewModel viewModel, CustomPrincipal user)
 {
     var request = new CompleteFireRiskAssessmentChecklistRequest
                       {
                           FireRiskAssessmentId = viewModel.RiskAssessmentId,
                           CompanyId = viewModel.CompanyId,
                           Answers = viewModel.CreateFireAnswerRequests(),
                           CurrentUserId = user.UserId
                       };
     return request;
 }
        public void Given_feature_switch_is_in_config_and_turned_off_and_user_doesnt_have_email_When_request_if_feature_is_enabled_Then_should_return_false()
        {
            // Given
            var user = new CustomPrincipal(new UserDto(), new CompanyDto());

            // When
            var result = FeatureSwitchChecker.Enabled(FeatureSwitches.FeatureSwitch_PersonalRiskAssessments, user);

            // Then
            Assert.False(result);

        }
        public void When_custom_principal_has_no_employer_Then_should_user_id_as_identity()
        {
            // Given
            var userDto = new UserDto()
                                  {
                                      Id = Guid.NewGuid()
                                  };
            

            // When
            var customPrinciple = new CustomPrincipal(userDto, new CompanyDto());

            // Then
            Assert.That(customPrinciple.Identity.Name, Is.EqualTo(userDto.Id.ToString()));
        }
        public void Given_feature_switch_is_in_config_and_turned_off_but_user_name_is_supplied_show_all_features_name_When_request_if_feature_is_enabled_Then_should_return_true()
        {
            // Given
            const string email = "*****@*****.**";
            var user = new CustomPrincipal(new UserDto()
            {
                Employee = new EmployeeDto()
                {
                    MainContactDetails = new EmployeeContactDetailDto { Email = email }
                }
            }, new CompanyDto());
            
            // When
            var result = FeatureSwitchChecker.Enabled(FeatureSwitches.FeatureSwitch_PersonalRiskAssessments, user);

            // Then
            Assert.True(result);

        }
        public void Given_feature_switch_is_in_config_and_turned_off_When_request_if_feature_is_enabled_Then_should_return_false()
        {
            // Given
            const string email = "*****@*****.**";
            var user = new CustomPrincipal(new UserDto()
            {
                Employee = new EmployeeDto()
                {
                    MainContactDetails = new EmployeeContactDetailDto { Email = email }
                }
            }, new CompanyDto());

            // When
            var result = FeatureSwitchChecker.Enabled(FeatureSwitches.FeatureSwitch_PersonalRiskAssessments, user);

            // Then
            Assert.False(result);

        }
        public void When_custom_principal_with_user_not_got_employer_email_Then_should_user_id_as_identity()
        {
            // Given
            var userDto = new UserDto()
            {
                Id = Guid.NewGuid(),
                Employee = new EmployeeDto()
                               {
                                   MainContactDetails = new EmployeeContactDetailDto { Email = string.Empty }
                               }
            };


            // When
            var customPrinciple = new CustomPrincipal(userDto, new CompanyDto());

            // Then
            Assert.That(customPrinciple.Identity.Name, Is.EqualTo(userDto.Id.ToString()));
        }
        private static CustomPrincipal CreateCustomPrinciple(IEnumerable<string> permissions, string companyName = "")
        {
            var userDto = new UserDto()
            {
                Id = Guid.Empty,
                CompanyId = 0,
                Permissions = permissions
            };
            
            var companyDto = new CompanyDto()
            {
                CompanyName = companyName,
                Id = 100L
            };

            var customPrinciple = new CustomPrincipal(userDto, companyDto);
            return customPrinciple;
        }
        public void When_custom_principal_with_employer_email_Then_should_employer_email_as_identity()
        {
            // Given
            var userDto = new UserDto()
            {
                Id = Guid.NewGuid(),
                Employee = new EmployeeDto()
                {
                    MainContactDetails = new EmployeeContactDetailDto { Email = "*****@*****.**" }
                }
            };


            // When
            var customPrinciple = new CustomPrincipal(userDto, new CompanyDto());

            // Then
            Assert.That(customPrinciple.Identity.Name, Is.EqualTo(userDto.Employee.MainContactDetails.Email));
        }
 private static CustomPrincipal CreateCustomPrincipal(UserDto userDto)
 {
     var customPrincipal = new CustomPrincipal(userDto, new CompanyDto());
     return customPrincipal;
 }
 public ITaskListViewModelFactory WithUserEmployeeId(CustomPrincipal currentUser)
 {
     var user = _userService.GetIncludingEmployeeAndSiteByIdAndCompanyId(currentUser.UserId, currentUser.CompanyId);
     if (user != null && user.Employee != null)
     {
         _userEmployeeId = user.Employee.Id;
     }
     return this;
 }
 public ITaskListViewModelFactory WithUser(CustomPrincipal currentUser)
 {
     _user = currentUser;
     return this;
 }