public void AddWorkout_ShouldThrowWhenInvalidWorkoutIsPassed() { var membersRepoMock = new Mock <IEfRepostory <Member> >(); var unitOfWorkStub = new Mock <IUnitOfWork>(); var sut = new MemberService(membersRepoMock.Object, unitOfWorkStub.Object); var member = new Member(); Assert.Throws <ArgumentException>(() => sut.AddWorkout(member, null)); }
public void AddWorkout_ShouldAddWorkoutToMemberWorkouts() { var membersRepoMock = new Mock <IEfRepostory <Member> >(); var unitOfWorkStub = new Mock <IUnitOfWork>(); var sut = new MemberService(membersRepoMock.Object, unitOfWorkStub.Object); var workout = new Workout(); var member = new Member(); sut.AddWorkout(member, workout); Assert.AreEqual(1, member.Workouts.Count); Assert.AreSame(workout, member.Workouts.First()); }
public void AddWorkout_ShouldCallUnitOfWorkCommitOnce() { var membersRepoMock = new Mock <IEfRepostory <Member> >(); var unitOfWorkStub = new Mock <IUnitOfWork>(); var sut = new MemberService(membersRepoMock.Object, unitOfWorkStub.Object); membersRepoMock.Setup(x => x.Update(It.IsAny <Member>())); unitOfWorkStub.Setup(x => x.Commit()); var workout = new Workout(); var member = new Member(); sut.AddWorkout(member, workout); unitOfWorkStub.Verify(x => x.Commit(), Times.Once); }