public async Task AddTrainingAsync_VerifyTotalTrainingDays() { //Arrange var actual = new WDSTraining { Name = "Test Training", StartDate = DateTime.Parse("20/04/2020"), EndDate = DateTime.Parse("30/04/2020") }; //Act var result = await _sut.AddTrainingAsync(actual); //Assert Assert.Equal(10, result.TrainingDays); }
public async Task AddTrainingAsync_GetSameAttributesAfterCall() { //Arrange var actual = new WDSTraining { Name = "Test Training", StartDate = DateTime.Parse("12/04/2020"), EndDate = DateTime.Parse("28/04/2020") }; //Act var result = await _sut.AddTrainingAsync(actual); //Assert Assert.Equal(actual.Name, result.Name); Assert.Equal(actual.StartDate, result.StartDate); Assert.Equal(actual.EndDate, result.EndDate); }
/// <summary> /// Async method to add new training /// </summary> /// <param name="iTraining"></param> /// <returns></returns> public async Task <WDSTraningViewModel> AddTrainingAsync(WDSTraining iTraining) { if (iTraining == null) { throw new NullReferenceException(); } _context.Trainings.Add(iTraining); var _task = _context.SaveChangesAsync(); var _result = new WDSTraningViewModel { Id = iTraining.Id, Name = iTraining.Name, StartDate = iTraining.StartDate, EndDate = iTraining.EndDate, TrainingDays = Convert.ToInt32((iTraining.EndDate - iTraining.StartDate).TotalDays) }; await Task.WhenAll(_task); _result.Id = iTraining.Id; return(_result); }