Ejemplo n.º 1
0
 public CompanionPost Update(CompanionPost param)
 {
     _companionPosts.FindOneAndReplace(
         Builders <CompanionPost> .Filter.Eq(x => x.Id, param.Id),
         param
         );
     return(param);
 }
Ejemplo n.º 2
0
        public void TestUpdate()
        {
            _mockICompanionPostRepository.Setup(x => x.Update(It.IsAny <CompanionPost>())).Returns(companionPost);
            var           companionPostService = new CompanionPostService(_mockICompanionPostRepository.Object);
            CompanionPost companionPostActual  = companionPostService.Update(companionPost);

            Assert.AreEqual(companionPostActual.Id, "");
        }
Ejemplo n.º 3
0
        public void TestGetById2()
        {
            _mockICompanionPostRepository.Setup(x => x.GetById(It.IsAny <string>(), It.IsAny <string>())).Returns(companionPost);
            var           companionPostService = new CompanionPostService(_mockICompanionPostRepository.Object);
            CompanionPost companionPostActual  = companionPostService.GetById("5d15941f197c3400015db0aa", "5d15941f197c3400015db0ax");

            Assert.AreEqual(companionPostActual.ConversationId, "5d0b2b0b1c9d440000d8e9ax");
        }
Ejemplo n.º 4
0
        public void TestAdd()
        {
            _mockICompanionPostRepository.Setup(x => x.Add(It.IsAny <CompanionPost>())).Returns(companionPost);
            var           companionPostService = new CompanionPostService(_mockICompanionPostRepository.Object);
            CompanionPost companionPostActual  = companionPostService.Add(companionPost);

            Assert.AreEqual(companionPostActual.ConversationId, "5d0b2b0b1c9d440000d8e9ax");
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> CreateAsync([FromBody] CompanionPost param)
        {
            var identity = User.Identity as ClaimsIdentity;
            var userId   = identity.FindFirst("user_id").Value;

            var token = Request.Headers["Authorization"].ToString();

            using (var httpClient = new HttpClient())
            {
                try
                {
                    //httpClient.BaseAddress = new Uri("https://localhost:44360/");
                    httpClient.BaseAddress = new Uri("https://api.trip-sharing.net");
                    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Split(' ')[1]);
                    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    var conversation = new
                    {
                        name = param.Post.Title
                    };
                    var convJson = JsonConvert.SerializeObject(conversation);
                    var response = await httpClient.PostAsync(
                        "api/chatservice/chat/create-group-chat",
                        new StringContent(convJson, UnicodeEncoding.UTF8, "application/json")
                        );

                    var conversationId = await response.Content.ReadAsStringAsync();

                    conversationId = conversationId.Replace("\"", "");

                    param.Id                = ObjectId.GenerateNewId().ToString();
                    param.Post.AuthorId     = userId;
                    param.Post.Id           = param.Id;
                    param.PostId            = param.Id;
                    param.Post.PubDate      = DateTime.Now;
                    param.ConversationId    = conversationId;
                    param.Post.IsActive     = true;
                    param.Post.PostType     = "CompanionPost";
                    param.Post.LikeCount    = 0;
                    param.Post.CommentCount = 0;

                    _postService.Add(param.Post);
                    var result = _companionPostService.Add(param);
                    return(Ok(result));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.ToString()));
                }
            }
        }
Ejemplo n.º 6
0
        public void TestGetAllCompanionPostByUser()
        {
            List <CompanionPost> listCompanionPost = new List <CompanionPost>();

            listCompanionPost.Add(companionPost);
            IEnumerable <CompanionPost> ienumerableCompanionPost = listCompanionPost;

            _mockICompanionPostRepository.Setup(x => x.GetAllCompanionPostByUser(It.IsAny <string>(), It.IsAny <PostFilter>(), It.IsAny <int>())).Returns(ienumerableCompanionPost);
            var           companionPostService = new CompanionPostService(_mockICompanionPostRepository.Object);
            var           ienumCompanionPost   = companionPostService.GetAllCompanionPostByUser("5d15941f197c3400015db0aa", postFilter, 6);
            CompanionPost companionPostActual  = ienumCompanionPost.FirstOrDefault();

            Assert.AreEqual(companionPostActual, companionPost);
        }
Ejemplo n.º 7
0
        public IActionResult Update([FromBody] CompanionPost param)
        {
            var identity = User.Identity as ClaimsIdentity;
            var userId   = identity.FindFirst("user_id").Value;

            //generate new postid and new conversationid
            if (!userId.Equals(param.Post.AuthorId))
            {
                return(Unauthorized());
            }

            _postService.Update(param.Post);
            var result = _companionPostService.Update(param);

            return(Ok(result));
        }
        public void TestUpdateReturnOkObjectResult()
        {
            var claims = new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, "abc"),
                new Claim(ClaimTypes.Role, "member"),
                new Claim("user_id", "5d0b2b0b1c9d440000d8e9a1")
            });
            var contextMock = new Mock <HttpContext>();

            contextMock.Setup(x => x.User).Returns(new ClaimsPrincipal(claims));
            _mockPostService.Setup(x => x.Update(It.IsAny <Post>())).Returns(post);
            _mockCompanionPostService.Setup(x => x.Update(It.IsAny <CompanionPost>())).Returns(companionPost);
            var _companionController = new CompanionController(_mockCompanionPostService.Object, _mockPostService.Object);

            _companionController.ControllerContext.HttpContext = contextMock.Object;
            IActionResult resultActual        = _companionController.Update(companionPost);
            var           actionResult        = resultActual as OkObjectResult;
            CompanionPost companionPostActual = (CompanionPost)actionResult.Value;

            Assert.AreEqual(companionPostActual, companionPost);
        }
Ejemplo n.º 9
0
 public CompanionPost Add(CompanionPost param)
 {
     _companionPosts.InsertOne(param);
     return(param);
 }
        public void Config()
        {
            _mockCompanionPostService = new Mock <ICompanionPostService>();
            _mockPostService          = new Mock <IPostService>();

            List <string> listTopics = new List <string>()
            {
                "5d247a04eff1030d7c5209a3"
            };

            postFilter = new PostFilter()
            {
                LocationId = "5sd239asdd8fass7",
                Search     = "ha noi",
                TimePeriod = "Tuan qua",
                Topics     = listTopics
            };

            ArticleDestinationItem articleDestinationItem = new ArticleDestinationItem()
            {
                Id   = "5d33f09863c6060b5a8c519c",
                Name = "Đi du lịch Hạ Long"
            };
            List <ArticleDestinationItem> listArticleDestinationItem = new List <ArticleDestinationItem>();

            listArticleDestinationItem.Add(articleDestinationItem);

            List <string> estimatedCostItems = new List <string>();
            ScheduleItem  scheduleItem       = new ScheduleItem()
            {
                Content = "Đi du lịch Hạ Long",
                Day     = DateTime.Parse("11/08/2019"),
                Title   = "Đi du lịch Hạ Long"
            };

            List <ScheduleItem> listScheduleItems = new List <ScheduleItem>();

            listScheduleItems.Add(scheduleItem);

            Author author = new Author()
            {
                Id           = "5d15941f197c3400015db0aa",
                DisplayName  = "PhongTV",
                ProfileImage = @"https://storage.googleapis.com/trip-sharing-final-image-bucket/image-201907131748509069-dy8beuyj1kfgwx98.png"
            };

            companionPostJoinRequest = new CompanionPostJoinRequest()
            {
                Id = "5d15941f197c3400015db0aa",
                CompanionPostId = "5d15941f197c3400015db0aa",
                Date            = DateTime.Parse("11/08/2019"),
                UserId          = "5d15941f197c3400015da9s898s7",
                User            = author
            };

            companionPostJoinRequestSecond = new CompanionPostJoinRequest()
            {
                Id = "5d15941f197c3400015a98s87f67f",
                CompanionPostId = "5d15941f197c3400015db0aa",
                Date            = DateTime.Parse("11/08/2019"),
                UserId          = "5d15941f197c3400015da9s898s7",
                User            = author
            };

            listcompanionPostJoinRequest.Add(companionPostJoinRequest);
            listcompanionPostJoinRequest.Add(companionPostJoinRequestSecond);
            post = new Post()
            {
                Id           = "5d07d847a2c5f845707dc69a",
                Content      = "<p>Post Test</p>",
                AuthorId     = "5d0b2b0b1c9d440000d8e9a1",
                CommentCount = 0,
                IsActive     = true,
                IsPublic     = true,
                LikeCount    = 0,
                CoverImage   = @"https://storage.googleapis.com/trip-sharing-final-image-bucket/image-201907131748509069-dy8beuyj1kfgwx98.png",
                PostType     = "article",
                PubDate      = DateTime.Now,
                liked        = false,
                Title        = "Post Test",
            };

            estimatedCostItems.Add("Ăn,ngủ,nghỉ");

            companionPost = new CompanionPost()
            {
                Id                 = "5d33f09763c6060b5a8casfa12",
                EstimatedCost      = 1000000,
                ExpiredDate        = DateTime.Parse("10/08/2019"),
                MaxMembers         = 10,
                MinMembers         = 5,
                From               = DateTime.Parse("10/08/2019"),
                To                 = DateTime.Parse("12/08/2019"),
                ConversationId     = "",
                EstimatedCostItems = estimatedCostItems,
                ScheduleItems      = listScheduleItems,
                Destinations       = listArticleDestinationItem,
                PostId             = "5d33f09763c6060b5a8c519b",
                Post               = post,
                JoinRequests       = listcompanionPostJoinRequest,
                Requested          = true
            };


            companionPostSecond = new CompanionPost()
            {
                Id                 = "5d33f09763c606a4a43s6d5s3d7s",
                EstimatedCost      = 1000000,
                ExpiredDate        = DateTime.Parse("10/08/2019"),
                MaxMembers         = 10,
                MinMembers         = 5,
                From               = DateTime.Parse("10/08/2019"),
                To                 = DateTime.Parse("12/08/2019"),
                ConversationId     = "",
                EstimatedCostItems = estimatedCostItems,
                ScheduleItems      = listScheduleItems,
                Destinations       = listArticleDestinationItem,
                PostId             = "5d33f09763c6060b5a8c519b",
                Post               = post,
                JoinRequests       = listcompanionPostJoinRequest,
                Requested          = true
            };

            claims = new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, "abc"),
                new Claim(ClaimTypes.Role, "member"),
                new Claim("user_id", "5d33f09763c6060b5a8c519b")
            });
        }
Ejemplo n.º 11
0
 public CompanionPost Update(CompanionPost post)
 {
     return(_companionPostRepository.Update(post));
 }
Ejemplo n.º 12
0
 public CompanionPost Add(CompanionPost post)
 {
     return(_companionPostRepository.Add(post));
 }