public void AddPending_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.AddPending(member, null)); }
public void AddPending_ShouldAddWorkoutToMemberPendingWorkouts() { var membersRepoMock = new Mock <IEfRepostory <Member> >(); var unitOfWorkStub = new Mock <IUnitOfWork>(); var sut = new MemberService(membersRepoMock.Object, unitOfWorkStub.Object); var pendingWorkout = new PendingWorkout(); var member = new Member(); sut.AddPending(member, pendingWorkout); Assert.AreEqual(1, member.PendingWorkouts.Count); Assert.AreSame(pendingWorkout, member.PendingWorkouts.First()); }
public void AddPending_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 pendingWorkout = new PendingWorkout(); var member = new Member(); sut.AddPending(member, pendingWorkout); unitOfWorkStub.Verify(x => x.Commit(), Times.Once); }