public void GetBestTimeDaily_ShouldThrowWhenInvalidDailyIsProvided() { var workoutsRepoStub = new Mock <IEfRepostory <Workout> >(); var unitOfWorkStub = new Mock <IUnitOfWork>(); var sut = new WorkoutService(workoutsRepoStub.Object, unitOfWorkStub.Object); Assert.Throws <ArgumentException>(() => sut.GetBestTimeDaily(null)); }
public void GetBestTimeDaily_ShouldReturnNullWhenWorkoutRepoIsEmpty() { var workoutsRepoStub = new Mock <IEfRepostory <Workout> >(); var unitOfWorkStub = new Mock <IUnitOfWork>(); var list = new List <Workout>(); var dbSetStub = list.AsQueryable(); var daily = new DailyWorkout(); var sut = new WorkoutService(workoutsRepoStub.Object, unitOfWorkStub.Object); workoutsRepoStub.Setup(x => x.All).Returns(dbSetStub); var result = sut.GetBestTimeDaily(daily); Assert.IsNull(result); }
public void GetBestTimeDaily_ShouldReturnBestTimeWhenTwoWorkoutsArePresentInTheRepo() { var workoutsRepoStub = new Mock <IEfRepostory <Workout> >(); var unitOfWorkStub = new Mock <IUnitOfWork>(); var list = new List <Workout>(); var workoutOne = new Workout(); workoutOne.WorkoutInformation = new WorkoutInformation { Name = "w1" }; workoutOne.Time = new TimeSpan(0, 10, 0); var workoutTwo = new Workout(); workoutTwo.WorkoutInformation = new WorkoutInformation { Name = "w1" }; workoutTwo.Time = new TimeSpan(0, 20, 0); list.Add(workoutOne); list.Add(workoutTwo); var dbSetStub = list.AsQueryable(); var daily = new DailyWorkout(); daily.WorkoutInformation = new WorkoutInformation { Name = "w1" }; var sut = new WorkoutService(workoutsRepoStub.Object, unitOfWorkStub.Object); workoutsRepoStub.Setup(x => x.All).Returns(dbSetStub); var result = sut.GetBestTimeDaily(daily); Assert.AreEqual(result, workoutOne.Time); }