Beispiel #1
0
        public void Constructor_ShouldCreateCorrectInstanceWhenValidParametersArePassed()
        {
            var dailyWorkoutRepoStub = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();

            var sut = new DailyWorkoutService(dailyWorkoutRepoStub.Object, unitOfWorkStub.Object);

            Assert.IsInstanceOf(typeof(DailyWorkoutService), sut);
        }
Beispiel #2
0
        public void AddMemberToDailyWorkout_ShouldThrowWhenInvalidWorkoutIsPassed()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();
            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            var member = new Member();

            Assert.Throws <ArgumentException>(() => sut.AddMemberToDailyWorkout(member, null));
        }
Beispiel #3
0
        public void AddDailyWorkout_ShouldThrowWhenInvalidWorkoutIsPassed()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();

            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            dailyWorkoutRepoMock.Setup(x => x.Add(It.IsAny <DailyWorkout>()));
            unitOfWorkStub.Setup(x => x.Commit());

            Assert.Throws <ArgumentException>(() => sut.AddDailyWorkout(null));
        }
Beispiel #4
0
        public void GetAll_ShouldReturnAnICollectionOfDailyWorkouts()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();
            var dbSetStub            = new Mock <IList <DailyWorkout> >().As <IQueryable <DailyWorkout> >();

            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            dailyWorkoutRepoMock.Setup(x => x.All).Returns(dbSetStub.Object);

            var result = sut.GetAll();

            Assert.IsInstanceOf(typeof(ICollection <DailyWorkout>), result);
        }
Beispiel #5
0
        public void GetAll_ShouldCallDailyWokrooutRepoAllPropertyOnce()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();
            var dbSetStub            = new List <DailyWorkout>().AsQueryable();

            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            dailyWorkoutRepoMock.Setup(x => x.All).Returns(dbSetStub);

            var result = sut.GetAll();

            dailyWorkoutRepoMock.Verify(x => x.All, Times.Once);
        }
Beispiel #6
0
        public void AddMemberToDailyWorkout_ShouldAddMemberToWorkoutSignedMembersCollection()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();
            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            var workout = new DailyWorkout();
            var member  = new Member();

            sut.AddMemberToDailyWorkout(member, workout);

            Assert.AreEqual(1, workout.SignedMembers.Count);
            Assert.AreSame(member, workout.SignedMembers.First());
        }
Beispiel #7
0
        public void AddAllDailyWorkouts_ShouldAddOneWorkoutToRepoWhenOneWorkoutIsPassed()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();
            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            var workout = new DailyWorkout();

            unitOfWorkStub.Setup(x => x.Commit());
            dailyWorkoutRepoMock.Setup(x => x.Add(It.IsAny <DailyWorkout>()));

            sut.AddAllDailyWorkouts(workout);

            dailyWorkoutRepoMock.Verify(x => x.Add(It.IsAny <DailyWorkout>()), Times.Once);
        }
Beispiel #8
0
        public void AddAllDailyWorkouts_ShouldAddTwoWorkoutsToRepoWhenTwoWorkoutsArePassed()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();
            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            var workoutOne = new DailyWorkout();
            var workoutTwo = new DailyWorkout();

            unitOfWorkStub.Setup(x => x.Commit());
            dailyWorkoutRepoMock.Setup(x => x.Add(It.IsAny <DailyWorkout>()));

            sut.AddAllDailyWorkouts(workoutOne, workoutTwo);

            dailyWorkoutRepoMock.Verify(x => x.Add(It.IsAny <DailyWorkout>()), Times.Exactly(2));
        }
Beispiel #9
0
        public void AddAllDailyWorkouts_ShouldCallUnitOfWorkCommitWhenWorkoutsAdded()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();
            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            var workoutOne = new DailyWorkout();
            var workoutTwo = new DailyWorkout();

            unitOfWorkStub.Setup(x => x.Commit());
            dailyWorkoutRepoMock.Setup(x => x.Add(It.IsAny <DailyWorkout>()));

            sut.AddAllDailyWorkouts(workoutOne, workoutTwo);

            unitOfWorkStub.Verify(x => x.Commit(), Times.Once);
        }
Beispiel #10
0
        public void AddMemberToDailyWorkout_ShouldCallUnitOfWorkCommitOnce()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();
            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            dailyWorkoutRepoMock.Setup(x => x.Update(It.IsAny <DailyWorkout>()));
            unitOfWorkStub.Setup(x => x.Commit());

            var workout = new DailyWorkout();
            var member  = new Member();

            sut.AddMemberToDailyWorkout(member, workout);

            unitOfWorkStub.Verify(x => x.Commit(), Times.Once);
        }
Beispiel #11
0
        public void AddDailyWorkout_ShouldCallRepoAddOnceWithCorrectDailyWorkout()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();

            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            dailyWorkoutRepoMock.Setup(x => x.Add(It.IsAny <DailyWorkout>()));
            unitOfWorkStub.Setup(x => x.Commit());

            var workout = new DailyWorkout();

            sut.AddDailyWorkout(workout);

            dailyWorkoutRepoMock.Verify(x => x.Add(workout), Times.Once);
        }
Beispiel #12
0
        public void GetById_ShouldReturnCorrectEntryWhenIdMatchesThePasedId()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();

            var list         = new List <DailyWorkout>();
            var dailyWorkout = new DailyWorkout();

            list.Add(dailyWorkout);

            var dbSetStub = list.AsQueryable();

            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            dailyWorkoutRepoMock.Setup(x => x.All).Returns(dbSetStub);

            var result = sut.GetById(dailyWorkout.Id);

            Assert.IsNotNull(result);
            Assert.IsInstanceOf <DailyWorkout>(result);
            Assert.AreSame(result, dailyWorkout);
        }
Beispiel #13
0
        public void GetById_ShouldReturnNullWhenNoEntryMatchesTheId()
        {
            var dailyWorkoutRepoMock = new Mock <IEfRepostory <DailyWorkout> >();
            var unitOfWorkStub       = new Mock <IUnitOfWork>();

            var list         = new List <DailyWorkout>();
            var dailyWorkout = new DailyWorkout();

            list.Add(dailyWorkout);

            var dbSetStub = list.AsQueryable();

            var sut = new DailyWorkoutService(dailyWorkoutRepoMock.Object, unitOfWorkStub.Object);

            dailyWorkoutRepoMock.Setup(x => x.All).Returns(dbSetStub);

            var newId = new Guid();

            var result = sut.GetById(newId);

            Assert.IsNull(result);
        }