예제 #1
0
        public async Task <ClientIssue> AddIssue(string userID, ClientIssue client)
        {
            var issue = client.Convert();

            issue.userID = userID;
            issues.Add(issue);
            return(new ClientIssue(issue));
        }
예제 #2
0
        public async Task <ClientColumn> CreateIssueAndAdd(string userID, ClientIssue clientIssue, string columnid)
        {
            var issue = clientIssue.Convert();

            issue.userID = userID;
            issues.Add(issue);
            return(await AddIssue(userID, columnid, issue.ID));
        }
        public void Put_UnknownIdPassed_DoesntAddItem()
        {
            // Arrange
            var id       = "100";
            var newIssue = new ClientIssue()
            {
                ID = id
            };

            // Act
            _ = controller.UpdateIssue(newIssue);

            // Assert
            var result = controller.GetIssue(id).Result;

            Assert.Null(result.Value);
        }
        public void Put_ExistingIdPassed_UpdatesItem()
        {
            // Arrange
            var id       = "0";
            var newIssue = new ClientIssue()
            {
                ID = id
            };

            // Act
            _ = controller.UpdateIssue(newIssue);

            // Assert
            var issue = controller.GetIssue(id).Result;
            var item  = Assert.IsType <ClientIssue>(issue.Value);

            Assert.Equal(newIssue.title, item.title);
        }
예제 #5
0
        public async Task <ClientIssue> UpdateIssue(string userID, ClientIssue client)
        {
            Issue issue = issues.FirstOrDefault(i => i.ID == client.ID && i.userID == userID);

            if (issue == null)
            {
                return(null);
            }
            else
            {
                issues.RemoveAll(i => i.ID == client.ID);

                Issue newIssue = client.Convert();
                newIssue.userID = userID;

                issues.Add(newIssue);

                return(new ClientIssue(newIssue));
            }
        }
        public void Put_ExistingButNotOwnedIdPassed_DoesntUpdateItem()
        {
            // Arrange
            var id       = "2";
            var newIssue = new ClientIssue()
            {
                ID = id
            };

            // Act: delete call from UserID-0 on UserID-1's Issue
            _ = controller.UpdateIssue(newIssue);

            // Assert: list issues from UserID-1
            controller.ControllerContext.HttpContext = new DefaultHttpContext();
            controller.ControllerContext.HttpContext.Items.Add("UserID", "1");

            var issue = controller.GetIssue(id).Result;
            var item  = Assert.IsType <ClientIssue>(issue.Value);

            Assert.NotEqual(newIssue.title, item.title);
        }
예제 #7
0
        private async Task <ClientColumn> Populate(Column column)
        {
            ClientColumn client = new ClientColumn(column);

            foreach (var issueid in column.issues)
            {
                var issue = issues.Find(issue => issue.ID == issueid);
                if (issue == null)
                {
                    continue;
                }
                var relevantClass = classes.Find(item => item.ID == issue.relevantClass);
                var clientIssue   = new ClientIssue(issue);
                clientIssue.relevantClass = relevantClass;
                if (issue.labels != null)
                {
                    clientIssue.labels = labels.FindAll(item => issue.labels.Contains(item.ID));
                }
                client.issues.Add(clientIssue);
            }
            return(client);
        }
 public async Task <ActionResult <ClientIssue> > UpdateIssue(ClientIssue updated)
 {
     return(await ir.UpdateIssue(HttpContext.Items["UserID"].ToString(), updated));
 }
 public async Task <ActionResult <ClientIssue> > AddIssue(ClientIssue newIssue)
 {
     return(await ir.AddIssue(HttpContext.Items["UserID"].ToString(), newIssue));
 }