Пример #1
0
        public void can_get_tags()
        {
            FakeTagRepository tagRepository;
            ITagService       tagService;

            Tag[] tags;

            tagRepository = new FakeTagRepository();
            tagService    = new TagService(tagRepository);

            tagRepository.OnEnumerate = () => new[]
            {
                new TagData {
                    Name = "Coffee shops", Id = 1
                },
                new TagData {
                    Name = "Vehicle", Id = 2
                },
            };

            tags = tagService
                   .getTags()
                   .ToArray();

            Assert.Equal(2, tags.Length);
            Assert.Equal("Coffee shops", tags[0].Name);
            Assert.Equal("Vehicle", tags[1].Name);
        }
Пример #2
0
        public void SetUp()
        {
            _repository = new FakeTagRepository();

            _tag  = CreateAndSaveTag("Appearance Miku");
            _tag2 = CreateAndSaveTag("MMD");

            _user = new User("User", "123", "*****@*****.**", PasswordHashAlgorithms.Default)
            {
                GroupId = UserGroupId.Moderator
            };
            _repository.Add(_user);

            _permissionContext = new FakePermissionContext(new ServerOnlyUserWithPermissionsContract(_user, ContentLanguagePreference.Default));

            _imagePersister = new InMemoryImagePersister();
            _queries        = new TagQueries(
                _repository,
                _permissionContext,
                new FakeEntryLinkFactory(),
                _imagePersister,
                _imagePersister,
                new FakeUserIconFactory(),
                new EnumTranslations(),
                new FakeObjectCache(),
                new FakeDiscordWebhookNotifier());
        }
Пример #3
0
        public void GetByTags_WhenTagsAreNotCorrect_ShouldReturnNoContent()
        {
            var user = new User()
            {
                DisplayName = "JavaScript",
                Username    = "******",
                AuthCode    = "bfff2dd4f1b310eb0dbf593bd83f94dd8d34077e",
                SessionKey  = "1zIzcHNYWhSKnWVrGNpBLxOzDDLPRMbHMeMjklumYmodzRTgAH"
            };

            var fakeUserRepo = new FakeUserRepository();

            fakeUserRepo.Add(user);

            var post = new Post()
            {
                PostDate = DateTime.Now,
                Text     = "Some text",
                Title    = "SomeTitle",
                User     = user
            };

            var fakePostRepo = new FakePostRepository();

            fakePostRepo.Add(post);

            var tags = new List <Tag>()
            {
                new Tag()
                {
                    Name  = "c#",
                    Posts = new List <Post>()
                    {
                        post
                    }
                },

                new Tag()
                {
                    Name  = "web",
                    Posts = new List <Post>()
                    {
                        post
                    }
                },
            };

            var fakeTagRepo = new FakeTagRepository();

            fakeTagRepo.Add(tags[0]);
            fakeTagRepo.Add(tags[1]);

            var server   = new InMemoryHttpServer <Post>("http://localhost/", fakePostRepo);
            var response = server.CreateGetRequest("api/posts?sessionKey=1zIzcHNYWhSKnWVrGNpBLxOzDDLPRMbHMeMjklumYmodzRTgAH&tags=js");

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.IsNotNull(response.Content);
        }
Пример #4
0
        public void can_create_tag()
        {
            FakeTagRepository tags;
            ITagService       tagService;
            Tag tag;

            tags       = new FakeTagRepository();
            tagService = new TagService(tags);

            tag = new Tag("Hostelería");
            tagService.save(tag);
            Assert.Equal(1, tags.Tags.Count);
            Assert.Equal("Hostelería", tags.Tags[0].Name);
        }
Пример #5
0
        public void SetUp()
        {
            tag        = CreateEntry.Tag("Appearance_Miku");
            tag2       = CreateEntry.Tag("MMD");
            repository = new FakeTagRepository(tag, tag2);

            user = new User("User", "123", "*****@*****.**", 123);
            repository.Add(user);

            permissionContext = new FakePermissionContext(new UserWithPermissionsContract(user, ContentLanguagePreference.Default));

            imagePersister = new InMemoryImagePersister();
            queries        = new TagQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister);
        }
Пример #6
0
		public void SetUp() {

			tag = CreateEntry.Tag("Appearance_Miku");
			tag2 = CreateEntry.Tag("MMD");
			repository = new FakeTagRepository(tag, tag2);

			user = new User("User", "123", "*****@*****.**", 123);
			repository.Add(user);

			permissionContext = new FakePermissionContext(new UserWithPermissionsContract(user, ContentLanguagePreference.Default));

			imagePersister = new InMemoryImagePersister();
			queries = new TagQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister);

		}
Пример #7
0
        public void SyncRelatedTags()
        {
            var tag3       = CreateEntry.Tag("power metal");
            var repository = new FakeTagRepository(tag, tag2, tag3);

            tag.AddRelatedTag(tag2);

            var result = tag.SyncRelatedTags(new[] { tag2, tag3 }, repository.Load);

            Assert.AreEqual(1, result.Added.Length, "Number of added items");
            Assert.AreEqual(1, result.Unchanged.Length, "Number of unchanged items");
            Assert.AreEqual(0, result.Removed.Length, "Number of removed items");

            Assert.AreEqual(2, tag.RelatedTags.Count, "Number of related tags for tag1");
            Assert.AreEqual(1, tag2.RelatedTags.Count, "Number of related tags for tag2");
        }
Пример #8
0
        public void SyncRelatedTags()
        {
            var tag3       = CreateEntry.Tag("power metal");
            var repository = new FakeTagRepository(_tag, _tag2, tag3);

            _tag.AddRelatedTag(_tag2);

            var result = _tag.SyncRelatedTags(new[] { _tag2, tag3 }, repository.Load);

            result.Added.Length.Should().Be(1, "Number of added items");
            result.Unchanged.Length.Should().Be(1, "Number of unchanged items");
            result.Removed.Length.Should().Be(0, "Number of removed items");

            _tag.RelatedTags.Count.Should().Be(2, "Number of related tags for tag1");
            _tag2.RelatedTags.Count.Should().Be(1, "Number of related tags for tag2");
        }
Пример #9
0
        public void SetUp()
        {
            repository = new FakeTagRepository();

            tag  = CreateAndSaveTag("Appearance Miku");
            tag2 = CreateAndSaveTag("MMD");

            user = new User("User", "123", "*****@*****.**", PasswordHashAlgorithms.Default)
            {
                GroupId = UserGroupId.Moderator
            };
            repository.Add(user);

            permissionContext = new FakePermissionContext(new UserWithPermissionsContract(user, ContentLanguagePreference.Default));

            imagePersister = new InMemoryImagePersister();
            queries        = new TagQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, imagePersister, new FakeUserIconFactory(), new EnumTranslations(), new FakeObjectCache());
        }
Пример #10
0
        public void can_create_tag()
        {
            FakeTagRepository tagRepository;
            ITagService       tagService;
            Tag tag;

            tagRepository = new FakeTagRepository();
            tagService    = new TagService(tagRepository);

            tag = new Tag("Hostelería");

            tagRepository.OnSet = data =>
            {
                Assert.Equal("Hostelería", data.Name);
                Assert.Null(data.Id);
            };
            tagRepository.OnGetSingleOrDefault = name => null;

            tagService.save(tag);
        }
Пример #11
0
        public object GetService(Type serviceType)
        {
            if (serviceType == typeof(UsersController))
            {
                return(new UsersController(this.Repository as IRepository <User>));
            }
            else if (serviceType == typeof(PostsController))
            {
                var fakeUserRepo    = new FakeUserRepository();
                var fakePostRepo    = new FakePostRepository();
                var fakeTagRepo     = new FakeTagRepository();
                var fakeCommentRepo = new FakeCommentRepository();

                return(new PostsController(
                           fakeUserRepo,
                           fakePostRepo,
                           fakeTagRepo,
                           fakeCommentRepo));
            }
            else
            {
                return(null);
            }
        }