示例#1
0
        public void RepositoryRaSetModelAuthTest()
        {
            var modelAuth = new DataModelAuth(
                "111", "email", "*****@*****.**", "*****@*****.**", null, "2017-11-14T09:30:26.893Z", "https://pbs.twimg.com/profile_images/901947348699545601/hqRMHITj.jpg",
                null, "2017-11-17T08:43:17.669Z", "Jon", "Snow", null, "EN", false, 1510651826, 1510908197, 0, null);
            var authData = new UserAuthData(modelAuth);

            _repo = new SocialTrading.Service.Repositories.Repository(new RepositoryUserAuth(), new RepositoryUserSettings())
            {
                ModelAuth = modelAuth
            };

            var result = true;

            var fields = _repo.GetType().GetRuntimeFields();

            foreach (var item in fields)
            {
                if (item.Name.Equals("_modelAuth"))
                {
                    result &= Equals((item.GetValue(_repo) as Lazy <DataModelAuth>)?.Value, modelAuth);
                }
                else if (item.Name.Equals("_repositoryUserAuth"))
                {
                    var repoUserAuth = item.GetValue(_repo) as RepositoryUserAuth;
                    result &= repoUserAuth.AuthData.Equals(authData) ? true : false;
                }
            }

            Assert.IsTrue(result);
        }
示例#2
0
        public void CallConvertTimeTest()
        {
            Mock <IDateTimeConverter> dateTimeConverterMock = new Mock <IDateTimeConverter>(MockBehavior.Strict);

            dateTimeConverterMock.Setup(f => f.Convert("123")).Returns(It.IsAny <DateTime>());
            IRepositoryPost repositoryPost = new SocialTrading.Service.Repositories.Repository(new RepositoryUserAuth(), new RepositoryUserSettings());

            var fields = repositoryPost.GetType().GetRuntimeFields().ToList();

            foreach (var item in fields)
            {
                if (item.Name.Equals("_converter"))
                {
                    item.SetValue(repositoryPost, dateTimeConverterMock.Object);
                    break;
                }
            }

            var posts = new Dictionary <string, DataModelPost>
            {
                {
                    "123", new DataModelPost("123", "123", "123", "123", "123", 123.123f, "123", "123",
                                             "123", "123", "123", "123", "123", "123", 12, 123, true)
                }
            };

            repositoryPost.SetPosts(posts);

            repositoryPost.GetPostHeaderModelById("123");

            dateTimeConverterMock.Verify(f => f.Convert("123"), Times.AtLeastOnce);
        }
示例#3
0
 public void RepositoryRaSetModelAuthNullTest()
 {
     Assert.Throws <DataModelAuthNullReferenceException>(() =>
     {
         _repo = new SocialTrading.Service.Repositories.Repository(new RepositoryUserAuth(), new RepositoryUserSettings())
         {
             ModelAuth = null
         };
     });
 }
示例#4
0
        public void RepositoryRaGetModelAuth()
        {
            var modelAuth = new DataModelAuth(
                "111", "email", "*****@*****.**", "*****@*****.**", null, "2017-11-14T09:30:26.893Z", "https://pbs.twimg.com/profile_images/901947348699545601/hqRMHITj.jpg",
                null, "2017-11-17T08:43:17.669Z", "Jon", "Snow", null, "EN", false, 1510651826, 1510908197, 0, null);

            _repo = new SocialTrading.Service.Repositories.Repository(new RepositoryUserAuth(), new RepositoryUserSettings())
            {
                ModelAuth = modelAuth
            };

            Assert.AreEqual(modelAuth, _repo.ModelAuth);
        }
示例#5
0
        public void UpdatePostDoesntContainsTest()
        {
            IRepositoryPost repository = new SocialTrading.Service.Repositories.Repository(new RepositoryUserAuth(), new RepositoryUserSettings());

            var posts = new Dictionary <string, DataModelPost>
            {
                {
                    "123", new DataModelPost("123", "123", "123", "123", "123", 123.123f, "123", "123",
                                             "123", "123", "123", "123", "123", "123", 12, 123, true)
                }
            };

            repository.SetPosts(posts);

            repository.UpdatePost(new DataModelPost("00000", "123", "123", "123", "123", 123.123f, "123", "123",
                                                    "123", "123", "123", "123", "123", "123", 12, 123, true));

            CollectionAssert.AreEqual((Dictionary <string, DataModelPost>)repository.GetType().GetRuntimeFields().First(f => f.Name.Equals("_posts")).GetValue(repository), posts);
        }
示例#6
0
        public void UpdatePostContainsTest()
        {
            IRepositoryPost repository = new SocialTrading.Service.Repositories.Repository(new RepositoryUserAuth(), new RepositoryUserSettings());

            var posts = new Dictionary <string, DataModelPost>
            {
                {
                    "123", new DataModelPost("123", "123", "123", "123", "123", 123.123f, "123", "123",
                                             "123", "123", "123", "123", "123", "123", 12, 123, true)
                }
            };

            repository.SetPosts(posts);

            var expected = new DataModelPost("123", "123", "123", "123", "12121212121212121", 123.123f, "123", "123",
                                             "123", "123", "123", "123", "123", "123", 12, 123, true);

            repository.UpdatePost(expected);

            Assert.AreEqual(repository.GetPostBodyModelById("123"), expected);
        }
示例#7
0
        public void CallConvertTimeTestNever()
        {
            Mock <IDateTimeConverter> dateTimeConverterMock = new Mock <IDateTimeConverter>(MockBehavior.Strict);

            dateTimeConverterMock.Setup(f => f.Convert(It.IsAny <string>()));
            IRepositoryPost repositoryPost = new SocialTrading.Service.Repositories.Repository(new RepositoryUserAuth(), new RepositoryUserSettings());


            var posts = new Dictionary <string, DataModelPost>
            {
                {
                    "123", new DataModelPost("123", "123", "123", "123", "123", 123.123f, "123", "123",
                                             "123", "123", "123", "123", "123", "123", 12, 123, true)
                }
            };

            repositoryPost.SetPosts(posts);

            repositoryPost.GetPostHeaderModelById("321");

            dateTimeConverterMock.Verify(f => f.Convert(It.IsAny <string>()), Times.Never);
        }
示例#8
0
 public void RepositoryRaGetModelAuthNull()
 {
     _repo = new SocialTrading.Service.Repositories.Repository(new RepositoryUserAuth(), new RepositoryUserSettings());
     Assert.Throws <NullReferenceException>(() => { var res = _repo.ModelAuth; });
 }
示例#9
0
 public void CtorRepositoryRaTest()
 {
     _repo = new SocialTrading.Service.Repositories.Repository(new RepositoryUserAuth(), new RepositoryUserSettings());
     Assert.IsInstanceOf <SocialTrading.Service.Repositories.Repository>(_repo);
 }
示例#10
0
 public void CtorRepositoryRaExceptionTest()
 {
     Assert.Throws <RepoUserAuthNullReferenceException>(() => _repo = new SocialTrading.Service.Repositories.Repository(null, null));
 }