示例#1
0
        public IHttpActionResult Create(BugModel bug)
        {
            if (!this.ModelState.IsValid)
            {
                return BadRequest(this.ModelState);
            }

            if (string.IsNullOrEmpty(bug.Text))
            {
                return BadRequest("Bug should have text");
            }

            if (bug.LogDate == null)
            {
                bug.LogDate = DateTime.Now;
            }

            bug.Status = BugStatus.Pending;

            var newBug = new Bug()
            {
                Text = bug.Text,
                Status = bug.Status,
                LogDate = bug.LogDate
            };

            this.bugsRepository.Add(newBug);
            this.bugsRepository.SaveChanges();

            bug.BugId = newBug.BugId;
            return Ok(bug);
        }
示例#2
0
        public void CreateInvalidBug_ShouldReturnBadRequest()
        {
            var bug = new BugModel();

            var badRequest = this.controller.Create(bug);

            Assert.IsInstanceOfType(badRequest, typeof(BadRequestErrorMessageResult));
        }
示例#3
0
        public void Create_ShouldReturnSameBugModel()
        {
            var bug = new BugModel()
            {
                Text = "test bug model"
            };

            var createdBug = this.controller.Create(bug) as OkNegotiatedContentResult<BugModel>;

            Assert.AreEqual(bug.Text, createdBug.Content.Text);
        }
示例#4
0
        public void UpdateValidBugStatus_ShouldReturnTheUpdatedBug()
        {
            int bugId = 2;
            var updatedBugInfo = new BugModel()
            {
                Status = BugStatus.ForTesting
            };

            var actionResult = this.controller.Update(bugId, updatedBugInfo);
            var contentResult = actionResult as OkNegotiatedContentResult<BugModel>;

            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(updatedBugInfo.Status, contentResult.Content.Status);
        }
示例#5
0
        public IHttpActionResult Update(int id, BugModel bug)
        {
            if (!this.ModelState.IsValid)
            {
                return BadRequest(this.ModelState);
            }

            var existingBug = this.bugsRepository.All().FirstOrDefault(b => b.BugId == id);

            if (existingBug == null)
            {
                return BadRequest("Such bug does not exists.");
            }

            existingBug.Status = bug.Status;
            this.bugsRepository.SaveChanges();

            bug.BugId = existingBug.BugId;
            bug.Text = existingBug.Text;
            bug.LogDate = existingBug.LogDate;
            return Ok(bug);
        }
示例#6
0
        public void UpdateInvalidBugStatus_ShouldReturnBadRequest()
        {
            int bugId = 5;
            var updatedBugInfo = new BugModel()
            {
                Status = BugStatus.ForTesting
            };

            var badRequest = this.controller.Update(bugId, updatedBugInfo);

            Assert.IsInstanceOfType(badRequest, typeof(BadRequestErrorMessageResult));
        }