示例#1
0
        public void Can_Save_Number_User_Custom_Data()
        {
            // Arrange

            var numberUserConfiguration = new NumberUserConfiguration {
                Value = 10
            };
            var result = new UserCustomData
            {
                Id = 1,
                ProjectCustomData = new ProjectCustomData
                {
                    ConfigurationName = "firstConfiguration"
                }
            };

            var customServiceMock = new Mock <ICustomDataJsonConvertService>();

            customServiceMock.Setup(m => m.Serialize(numberUserConfiguration))
            .Returns(numberUserConfiguration.Value.ToString);

            var userCustomDataRepository = new Mock <IUserCustomDataRepository>();

            userCustomDataRepository.Setup(m => m.FindBy(It.IsAny <Expression <Func <UserCustomData, bool> > >())).Returns(
                new[]
            {
                result
            });

            // Act

            var target = new SaveUserCustomData(userCustomDataRepository.Object, customServiceMock.Object);

            target.Invoke(1, 1, "name", numberUserConfiguration);

            // Assert

            Assert.True(result.ModificationDate.Date == DateTime.UtcNow.Date);
            Assert.True(result.SerializedConfiguration == 10.ToString());
            userCustomDataRepository.Verify(m => m.Edit(result));
        }
        public void Can_Get_Custom_Data_List_From_Project()
        {
            // Arrange

            const string userLogin = "******";
            const int userId = 1;
            const bool boolValue = true;
            var guid = new Guid();

            var convertService = new CustomDataJsonConvertService();

            var userCustomDataMock = new UserCustomData
            {
                UserId = userId ,
                ProjectCustomData = new ProjectCustomData
                {
                    ProjectId = userId ,
                    ConfigurationName = "testConfigurationName" ,
                    ConfigurationType = ConfigurationType.Boolean
                } ,
                SerializedConfiguration = convertService.Serialize(new BooleanUserConfiguration {Value = boolValue})
            };

            var userRepositoryMock = new Mock<IUserRepository>();
            userRepositoryMock.Setup(m => m.GetAll()).Returns(new[]
            {
                new User
                {
                    Id = userId ,
                    Login = userLogin ,
                    UserCustomData = new List<UserCustomData>
                    {
                        userCustomDataMock
                    }
                }
            });

            var projectMock = new Project
            {
                Id = userId ,
                ProjectGuid = guid ,
                ProjectCustomData = new List<ProjectCustomData>
                {
                    new ProjectCustomData
                    {
                        UserCustomData = new List<UserCustomData>
                        {
                            userCustomDataMock
                        }
                    }
                }
            };

            var projectRepositoryMock = new Mock<IProjectRepository>();
            projectRepositoryMock.Setup(m => m.GetAll()).Returns(new[] {projectMock});
            projectRepositoryMock.Setup(m => m.GetByIdWithCustomDatas(It.IsAny<int>())).Returns(projectMock);

            // Act

            var target = new GetUserCustomDataListFromProject(projectRepositoryMock.Object , userRepositoryMock.Object ,
                convertService);

            var list = target.Invoke(guid , userLogin);

            // Assert

            Assert.Contains(new Tuple<string , string>("testConfigurationName" , boolValue.ToString()) , list);
        }