public async void PlanController_CanDelete() { //Arrange var PlanDto = FixtureData.CreateTestPlanDTO(); var PlanController = CreatePlanController(_testUserAccount.Id, _testUserAccount.EmailAddress.Address); var postResult = PlanController.Post(PlanDto).Result as OkNegotiatedContentResult <PlanNoChildrenDTO>; Assert.NotNull(postResult); //Act var deleteResult = await PlanController.Delete(postResult.Content.Id) as OkNegotiatedContentResult <int>; Assert.NotNull(deleteResult); //Assert //After delete, if we get the same process template, it should be null var afterDeleteAttemptResult = await PlanController.Get(new PlansGetParams() { id = postResult.Content.Id }) as OkNegotiatedContentResult <PlanNoChildrenDTO>; Assert.IsNull(afterDeleteAttemptResult); }
public async void ProcessController_Will_Return_All_When_Get_Invoked_With_Null() { //Arrange var PlanController = CreatePlanController(_testUserAccount.Id, _testUserAccount.EmailAddress.Address); for (var i = 0; i < 2; i++) { var PlanDto = FixtureData.CreateTestPlanDTO(); // Commented out by yakov.gnusin: // Do we really need to provider DockyardAccountDO inside PlanDTO? // We do override DockyardAccountDO in PlanController.Post action. // switch (i) // { // case 0: // processTemplateDto.DockyardAccount = FixtureData.TestDockyardAccount1(); // break; // case 1: // processTemplateDto.DockyardAccount = FixtureData.TestDockyardAccount2(); // break; // default: // break; // } PlanController.Post(PlanDto); } //Act var actionResult = await PlanController.Get(new PlansGetParams()) as OkNegotiatedContentResult <IList <PlanNoChildrenDTO> >; //Assert Assert.NotNull(actionResult); Assert.AreEqual(2, actionResult.Content.Count()); }
public async Task <PlanDTO> CreateNewPlan(string planName = "") { var newPlan = FixtureData.CreateTestPlanDTO(planName); var planDTO = await _baseHubITest.HttpPostAsync <PlanNoChildrenDTO, PlanDTO>(_baseHubITest.GetHubApiBaseUrl() + "plans", newPlan); Assert.AreNotEqual(planDTO.Id, Guid.Empty, "New created Plan doesn't have a valid Id. Plan failed to be crated."); Assert.True(planDTO.SubPlans.Any(), "New created Plan doesn't have an existing sub plan."); return(await Task.FromResult(planDTO)); }
public async void ProcessController_CanEditProcess() { //Arrange //var processTemplateDto = FixtureData.CreateTestPlanDTO(); var PlanDto = FixtureData.CreateTestPlanDTO(); var PlanController = CreatePlanController(_testUserAccount.Id, _testUserAccount.EmailAddress.Address); var tPT = FixtureData.TestPlanWithStartingSubPlans_ID0(); using (var uow = ObjectFactory.GetInstance <IUnitOfWork>()) { uow.PlanRepository.Add(tPT); uow.SaveChanges(); } //Save First var postResult = PlanController.Post(PlanDto).Result as OkNegotiatedContentResult <PlanDTO>; Assert.NotNull(postResult); //Then Get var getResult = await PlanController.Get(new PlansGetParams() { id = postResult.Content.Id }) as OkNegotiatedContentResult <PlanNoChildrenDTO>; Assert.NotNull(getResult); //Then Edit var postEditNameValue = "EditedName"; getResult.Content.Name = postEditNameValue; var editResult = PlanController.Post(getResult.Content).Result as OkNegotiatedContentResult <PlanDTO>; Assert.NotNull(editResult); //Then Get var postEditGetResult = await PlanController.Get(new PlansGetParams() { id = editResult.Content.Id }) as OkNegotiatedContentResult <PlanNoChildrenDTO>; Assert.NotNull(postEditGetResult); //Assert Assert.AreEqual(postEditGetResult.Content.Name, postEditNameValue); Assert.AreEqual(postEditGetResult.Content.Id, editResult.Content.Id); Assert.AreEqual(postEditGetResult.Content.Id, postResult.Content.Id); }
public void PlanController_CreatesUntitledPlanIfNameNotSpecified() { //Arrange var PlanDto = FixtureData.CreateTestPlanDTO(); PlanDto.Name = String.Empty; //Act var PlanController = CreatePlanController(_testUserAccount.Id, _testUserAccount.EmailAddress.Address); var response = PlanController.Post(PlanDto).Result; //Assert var okResult = response as OkNegotiatedContentResult <PlanDTO>; Assert.IsTrue(okResult.Content.Name.Contains("Untitled Plan")); }
public async void ProcessController_Will_Return_One_When_Get_Invoked_With_Id() { //Arrange var PlanController = CreatePlanController(_testUserAccount.Id, _testUserAccount.EmailAddress.Address); var PlanDto = FixtureData.CreateTestPlanDTO(); var resultPlan = (PlanController.Post(PlanDto).Result as OkNegotiatedContentResult <PlanDTO>).Content; //Act var actionResult = await PlanController.Get(new PlansGetParams() { id = resultPlan.Id }) as OkNegotiatedContentResult <PlanNoChildrenDTO>; //Assert Assert.NotNull(actionResult); Assert.NotNull(actionResult.Content); Assert.AreEqual(resultPlan.Id, actionResult.Content.Id); }
public void PlanController_CanAddNewPlan() { //Arrange var PlanDto = FixtureData.CreateTestPlanDTO(); //Act var ptc = CreatePlanController(_testUserAccount.Id, _testUserAccount.EmailAddress.Address); var response = ptc.Post(PlanDto).Result; //Assert var okResult = response as OkNegotiatedContentResult <PlanDTO>; Assert.NotNull(okResult); using (var uow = ObjectFactory.GetInstance <IUnitOfWork>()) { Assert.AreEqual(0, ptc.ModelState.Count()); //must be no errors var ptdo = uow.PlanRepository.GetPlanQueryUncached().SingleOrDefault(pt => pt.Fr8Account.Id == _testUserAccount.Id && pt.Name == PlanDto.Name); Assert.IsNotNull(ptdo); Assert.AreEqual(PlanDto.Description, ptdo.Description); } }
public void PlanController_Will_Create_Untitled_Plan_Incrementing_Name() { //Arrange var PlanDto = FixtureData.CreateTestPlanDTO(); PlanDto.Name = String.Empty; var PlanDto1 = FixtureData.CreateTestPlanDTO(); PlanDto1.Name = String.Empty; //Act var ptc = CreatePlanController(_testUserAccount.Id, _testUserAccount.EmailAddress.Address);; var response = ptc.Post(PlanDto).Result; var response1 = ptc.Post(PlanDto1).Result; //Assert var okResult = response as OkNegotiatedContentResult <PlanDTO>; var okResult1 = response1 as OkNegotiatedContentResult <PlanDTO>; var result = Int32.Parse(Regex.Match(okResult.Content.Name, @"\d+").Value); var result1 = Int32.Parse(Regex.Match(okResult1.Content.Name, @"\d+").Value); Assert.IsTrue(result1 - result == 1); }