public void GetTopicsByUnitID() { // Fill empty string parameters "" with auto-generated string. testEntityFactory.PopulateEmptyStrings = true; // Add test helpdesk. TestDataHelpdesk helpdeskData = testEntityFactory.AddHelpdesk(); // Check that helpdesk was created successfully. Assert.AreEqual(HttpStatusCode.OK, helpdeskData.Response.Status); Assert.IsTrue(helpdeskData.Response.HelpdeskID > 0); // Create a unit. ID provided is 0, which will indicates creation of new helpdesk. List <string> topics = new List <string>(new string[] { "Layouts", "Lifecycle" }); TestDataUnit unitData = testEntityFactory.AddUpdateUnit(0, helpdeskData.Response.HelpdeskID, "", "", false, topics); // Check that unit was created successfully. Assert.AreEqual(HttpStatusCode.OK, unitData.Response.Status); Assert.IsTrue(unitData.Response.UnitID > 0); // Get all topics associated with the unit id. var topicsFacade = new TopicsFacade(); GetTopicsByUnitIDResponse topicResponse = topicsFacade.GetTopicsByUnitID(unitData.Response.UnitID); // Check that the topics retrieved are correct. Assert.AreEqual(HttpStatusCode.OK, unitData.Response.Status); Assert.IsTrue(topicResponse.Topics.Count == 3); }
/// <summary> /// This method is used to get all topics of a specific unit /// </summary> /// <param name="id">ID of the unit to get topics from</param> /// <returns>Response which indicates success or failure</returns> public GetTopicsByUnitIDResponse GetTopicsByUnitID(int id) { var response = new GetTopicsByUnitIDResponse(); try { var dataLayer = new TopicsDataLayer(); List <TopicDTO> topics = dataLayer.GetTopicsByUnitID(id); if (topics.Count == 0) { throw new NotFoundException("No topics found under unit " + id); } response.Topics = topics; response.Status = HttpStatusCode.OK; } catch (NotFoundException ex) { s_logger.Error(ex, "No unit found found matching id " + id); response.Status = HttpStatusCode.NotFound; response.StatusMessages.Add(new StatusMessage(HttpStatusCode.NotFound, "No topics found!")); } catch (Exception ex) { s_logger.Error(ex, "Unable to get topics!"); response.Status = HttpStatusCode.InternalServerError; response.StatusMessages.Add(new StatusMessage(HttpStatusCode.InternalServerError, "Unable to get topics!")); } return(response); }
public void UpdateQueueItem() { // Fill empty string parameters "" with auto-generated string. testEntityFactory.PopulateEmptyStrings = true; // Add test helpdesk. TestDataHelpdesk helpdeskData = testEntityFactory.AddHelpdesk(); // Check that helpdesk was created successfully. Assert.AreEqual(HttpStatusCode.OK, helpdeskData.Response.Status); Assert.IsTrue(helpdeskData.Response.HelpdeskID > 0); // Create a unit. ID provided is 0, which will indicates creation of new helpdesk. List <string> topics = new List <string>(new string[] { "Layouts", "Lifecycle" }); TestDataUnit unitData = testEntityFactory.AddUpdateUnit(0, helpdeskData.Response.HelpdeskID, "", "", false, topics); // Check that unit was created successfully. Assert.AreEqual(HttpStatusCode.OK, unitData.Response.Status); Assert.IsTrue(unitData.Response.UnitID > 0); // Get topics for the unit that was just created. TopicsFacade topicsFacade = new TopicsFacade(); GetTopicsByUnitIDResponse topicResponse = topicsFacade.GetTopicsByUnitID(unitData.Response.UnitID); // Check that there are two units in the response (Layouts, Lifecycle). Assert.IsTrue(topicResponse.Topics.Count() == 3); // Add test queue item, pass in topic [0]. TestDataQueue queueData = testEntityFactory.AddQueueItem(null, topicResponse.Topics[0].TopicId); // Check that queue item was created successfully. Assert.AreEqual(HttpStatusCode.OK, queueData.Response.Status); // Create request to alter queue item. var queueUpdateRequest = new UpdateQueueItemRequest { TopicID = topicResponse.Topics[0].TopicId, Description = "UpdateQueueItem Test" }; // Update the queue item UpdateQueueItemResponse updateQueueResponse = testEntityFactory.QueueFacade.UpdateQueueItem(queueData.Response.ItemId, queueUpdateRequest); // Check that queue item was updated successfully. Assert.AreEqual(HttpStatusCode.OK, updateQueueResponse.Status); // Do another request to change to another topic queueUpdateRequest = new UpdateQueueItemRequest { TopicID = topicResponse.Topics[1].TopicId, Description = "UpdateQueueItem Test 2" }; // Update the queue item again updateQueueResponse = testEntityFactory.QueueFacade.UpdateQueueItem(queueData.Response.ItemId, queueUpdateRequest); // Check that queue item was updated successfully. Assert.AreEqual(HttpStatusCode.OK, updateQueueResponse.Status); }
public void UpdateQueueItemStatusInvalidTimeRemoved() { // Fill empty string parameters "" with auto-generated string. testEntityFactory.PopulateEmptyStrings = true; // Add test helpdesk. TestDataHelpdesk helpdeskData = testEntityFactory.AddHelpdesk(); // Check that helpdesk was created successfully. Assert.AreEqual(HttpStatusCode.OK, helpdeskData.Response.Status); Assert.IsTrue(helpdeskData.Response.HelpdeskID > 0); // Create a unit. ID provided is 0, which will indicates creation of new helpdesk. List <string> topics = new List <string>(new string[] { "Layouts", "Lifecycle" }); TestDataUnit unitData = testEntityFactory.AddUpdateUnit(0, helpdeskData.Response.HelpdeskID, "", "", false, topics); // Check that unit was created successfully. Assert.AreEqual(HttpStatusCode.OK, unitData.Response.Status); Assert.IsTrue(unitData.Response.UnitID > 0); // Get topics for the unit that was just created. TopicsFacade topicsFacade = new TopicsFacade(); GetTopicsByUnitIDResponse topicResponse = topicsFacade.GetTopicsByUnitID(unitData.Response.UnitID); // Check that there are two units in the response (Layouts, Lifecycle). Assert.IsTrue(topicResponse.Topics.Count() == 3); // Add test queue item, pass in topic [0]. TestDataQueue queueData = testEntityFactory.AddQueueItem(null, topicResponse.Topics[0].TopicId); // Check that queue item was created successfully. Assert.AreEqual(HttpStatusCode.OK, queueData.Response.Status); // Create update request for TimeHelped. var queueUpdateRequest = new UpdateQueueItemStatusRequest { TimeHelped = DateTime.Now, TimeRemoved = null }; // Update queue item TimeHelped. var queueUpdateResponse = testEntityFactory.QueueFacade.UpdateQueueItemStatus(queueData.Response.ItemId, queueUpdateRequest); // Check that queue item was updated successfully. Assert.AreEqual(HttpStatusCode.OK, queueData.Response.Status); Assert.IsTrue(queueUpdateResponse.Result == true); // Create update request for TimeRemoved. // NOTICE we're providing a TimedRemoved time that precedes TimeHelped. This should fail. DateTime timeRemoved = queueUpdateRequest.TimeHelped.Value.AddMinutes(-1); queueUpdateRequest = new UpdateQueueItemStatusRequest { TimeHelped = null, TimeRemoved = timeRemoved }; // Update queue item TimeRemoved. queueUpdateResponse = testEntityFactory.QueueFacade.UpdateQueueItemStatus(queueData.Response.ItemId, queueUpdateRequest); // Check that queue item was updated successfully. Assert.AreEqual(HttpStatusCode.BadRequest, queueUpdateResponse.Status); Assert.IsTrue(queueUpdateResponse.Result == false); }