示例#1
0
        public void GetForm_ThrowsSessionIsNotHeldToday_WhenValidUserValidSessionIsProvidedAndSessionDaysIsNotToday()
        {
            //ESAttendeeRole(IESUnitOfWork iESUnitOfWork, IRSServiceRole iRSServiceRole)
            var mockUnitOfWork        = new Mock <IESUnitOfWork>();
            var mockRSServiceRole     = new Mock <IRSServiceRole>();
            var SessionToForRSService = new SessionTO
            {
                Id        = 1,
                Attendees = new List <UserTO>()
                {
                    new UserTO {
                        Id = 1
                    }
                },
                SessionDays = new List <SessionDayTO>()
                {
                    new SessionDayTO {
                        Id = 1, Date = DateTime.Now.AddDays(-1)
                    },
                    new SessionDayTO {
                        Id = 1, Date = DateTime.Now.AddDays(+1)
                    }
                }
            };

            mockRSServiceRole.Setup(x => x.GetSession(It.IsAny <int>())).Returns(SessionToForRSService);

            var attendee = new ESAttendeeRole(mockUnitOfWork.Object, mockRSServiceRole.Object);

            Assert.ThrowsException <LoggedException>(() => attendee.GetActiveForm(1, 1));
        }
示例#2
0
        public void GetForm_ReturnsRequestedFormTO_WhenAllValuesProvidedAreValid_FinalForm(int deltaDay1, int deltaDay2, int deltaDay3, int expectedFormId)
        {
            //ARRANGE - DATA INPUTS
            var TrainingDay1 = DateTime.Now.AddDays(deltaDay1);
            var TrainingDay2 = DateTime.Now.AddDays(deltaDay2);
            var TrainingDay3 = DateTime.Now.AddDays(deltaDay3);

            //ARRANGE - MOCKS IESUnitOfWork
            var mockUnitOfWork = new Mock <IESUnitOfWork>();

            mockUnitOfWork.Setup(x => x.SubmissionRepository.IsAlreadySubmitted(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>()))
            .Returns(false);
            mockUnitOfWork.Setup(x => x.FormRepository.GetById(It.IsAny <int>()))
            .Returns((int id) => new FormTO()
            {
                Id = id, Name = new MultiLanguageString("Form1", "Form1", "Form1")
            });
            mockUnitOfWork.Setup(x => x.QuestionRepository.GetAllOfForm(It.IsAny <int>()))
            .Returns(new List <QuestionTO> {
                new QuestionTO()
                {
                    Id = 1, Libelle = new MultiLanguageString("Q1", "Q1", "Q1"), Position = 1, Type = QuestionType.Open
                }
            });

            //ARRANGE - MOCKS IRSServiceRole
            var mockRSServiceRole     = new Mock <IRSServiceRole>();
            var SessionToForRSService = new SessionTO
            {
                Id        = 1,
                Attendees = new List <UserTO>()
                {
                    new UserTO {
                        Id = 1
                    }
                },
                SessionDays = new List <SessionDayTO>()
                {
                    new SessionDayTO {
                        Id = 1, Date = TrainingDay1
                    },
                    new SessionDayTO {
                        Id = 2, Date = TrainingDay2
                    },
                    new SessionDayTO {
                        Id = 3, Date = TrainingDay3
                    }
                }
            };

            mockRSServiceRole.Setup(x => x.GetSession(It.IsAny <int>())).Returns(SessionToForRSService);

            //ACT
            var attendee      = new ESAttendeeRole(mockUnitOfWork.Object, mockRSServiceRole.Object);
            var returnedValue = attendee.GetActiveForm(1, 1);

            //ASSERT
            Assert.IsNotNull(returnedValue);
            Assert.AreEqual(expectedFormId, returnedValue.Id);
        }
示例#3
0
        public void GetForm_ThrowsSessionInexistante_WhenInvalidSessionIdIsProvided()
        {
            //ESAttendeeRole(IESUnitOfWork iESUnitOfWork, IRSServiceRole iRSServiceRole)
            var mockUnitOfWork    = new Mock <IESUnitOfWork>();
            var mockRSServiceRole = new Mock <IRSServiceRole>();

            mockRSServiceRole.Setup(x => x.GetSession(It.IsAny <int>())).Throws <LoggedException>();

            var attendee = new ESAttendeeRole(mockUnitOfWork.Object, mockRSServiceRole.Object);

            Assert.ThrowsException <LoggedException>(() => attendee.GetActiveForm(8888, 4));
        }
        public void GetForm_Throws_SessionIDInexistant()
        {
            //Arrange
            var moqUnitOfWork = new Mock <IESUnitOfWork>();

            moqUnitOfWork.Setup(x => x.QuestionRepository.GetByID(It.IsAny <int>())).Returns(() => default(FormQuestionTO));
            var moqUserService = new Mock <IUserServiceTemp>();

            moqUserService.Setup(x => x.IsExistentSession(It.IsAny <int>())).Returns(() => false);

            var sut       = new ESAttendeeRole(moqUnitOfWork.Object, moqUserService.Object);
            var SessionID = 999999999;//session inexistant
            var FormID    = 1;

            Assert.ThrowsException <Exception>(() => sut.GetFormById(SessionID, FormID));
        }
        public void SetReponse_Form_WhenValidParametersIsProvded()
        {
            //ARRANGE
            var mockUnitOfWork  = new Mock <IESUnitOfWork>();
            var mockUserService = new Mock <IUserServiceTemp>();

            mockUnitOfWork.Setup(u => u.ResponseRepository.Add(It.IsAny <FormResponseTO>()))
            .Returns(new FormResponseTO {
                Id = 1, Date = DateTime.Now
            });
            var attendee     = new ESAttendeeRole(mockUnitOfWork.Object, mockUserService.Object);
            var formResponse = new FormResponseTO {
                Date = DateTime.Now
            };
            //ACT
            var result = attendee.SetResponse(formResponse);

            //ASSERT
            mockUnitOfWork.Verify(u => u.ResponseRepository.Add(It.IsAny <FormResponseTO>()), Times.Once);
            Assert.IsTrue(result);
        }
        public void GetForm_ReturnForm_WhenValidParametersIsPRovided()
        {
            //Arrange
            var SessionID = 1;
            var FormID    = 1; //Forms inexistant

            var moqUnitOfWork = new Mock <IESUnitOfWork>();

            moqUnitOfWork.Setup(x => x.QuestionRepository.GetByID(It.IsAny <int>())).Returns(() => default(FormQuestionTO));
            var moqUserService = new Mock <IUserServiceTemp>();

            moqUserService.Setup(x => x.IsExistentSession(It.IsAny <int>())).Returns(() => true);

            var sut = new ESAttendeeRole(moqUnitOfWork.Object, moqUserService.Object);


            //ACT
            var FormToAssert = sut.GetFormById(SessionID, FormID);

            //ASSERT
            Assert.AreEqual(FormID, FormToAssert.Id);
        }
示例#7
0
        public void GetForm_ThrowsSessionUserNotInSession_WhenValidUserIsProvidedButNotInSession()
        {
            //ESAttendeeRole(IESUnitOfWork iESUnitOfWork, IRSServiceRole iRSServiceRole)
            var mockUnitOfWork        = new Mock <IESUnitOfWork>();
            var mockRSServiceRole     = new Mock <IRSServiceRole>();
            var SessionToForRSService = new SessionTO
            {
                Id        = 1,
                Attendees = new List <UserTO>()
                {
                    new UserTO {
                        Id = 1
                    }
                }
            };

            mockRSServiceRole.Setup(x => x.GetSession(It.IsAny <int>())).Returns(SessionToForRSService);

            var attendee = new ESAttendeeRole(mockUnitOfWork.Object, mockRSServiceRole.Object);

            Assert.ThrowsException <LoggedException>(() => attendee.GetActiveForm(1, 4));
        }
示例#8
0
        public void GetForm_ThrowExceptionFormAlreadySubmitted_WhenTodaHasAnActiveFormNotSubmmittedButSubmittedDay2Previously_day1()
        {
            //ESAttendeeRole(IESUnitOfWork iESUnitOfWork, IRSServiceRole iRSServiceRole)
            var mockUnitOfWork = new Mock <IESUnitOfWork>();

            mockUnitOfWork.SetupSequence(x => x.SubmissionRepository.IsAlreadySubmitted(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>()))
            .Returns(false)     //Form 1 not submitted
            .Returns(true);     //Form 2 submitted

            var mockRSServiceRole     = new Mock <IRSServiceRole>();
            var SessionToForRSService = new SessionTO
            {
                Id        = 1,
                Attendees = new List <UserTO>()
                {
                    new UserTO {
                        Id = 1
                    }
                },
                SessionDays = new List <SessionDayTO>()
                {
                    new SessionDayTO {
                        Id = 1, Date = DateTime.Now.AddDays(+1)
                    },
                    new SessionDayTO {
                        Id = 1, Date = DateTime.Now
                    },
                    new SessionDayTO {
                        Id = 1, Date = DateTime.Now.AddDays(+2)
                    }
                }
            };

            mockRSServiceRole.Setup(x => x.GetSession(It.IsAny <int>())).Returns(SessionToForRSService);

            var attendee = new ESAttendeeRole(mockUnitOfWork.Object, mockRSServiceRole.Object);

            Assert.ThrowsException <LoggedException>(() => attendee.GetActiveForm(1, 1));
        }
示例#9
0
        public void GetForm_ReturnsNULL_WhenTodayIsDoesNotHaveAnActiveForm()
        {
            //ESAttendeeRole(IESUnitOfWork iESUnitOfWork, IRSServiceRole iRSServiceRole)
            var mockUnitOfWork        = new Mock <IESUnitOfWork>();
            var mockRSServiceRole     = new Mock <IRSServiceRole>();
            var SessionToForRSService = new SessionTO
            {
                Id        = 1,
                Attendees = new List <UserTO>()
                {
                    new UserTO {
                        Id = 1
                    }
                },
                SessionDays = new List <SessionDayTO>()
                {
                    new SessionDayTO {
                        Id = 1, Date = DateTime.Now.AddDays(-1)
                    },
                    new SessionDayTO {
                        Id = 1, Date = DateTime.Now
                    },
                    new SessionDayTO {
                        Id = 1, Date = DateTime.Now.AddDays(+1)
                    }
                }
            };

            mockRSServiceRole.Setup(x => x.GetSession(It.IsAny <int>())).Returns(SessionToForRSService);

            var attendee = new ESAttendeeRole(mockUnitOfWork.Object, mockRSServiceRole.Object);

            var returnedValue = attendee.GetActiveForm(1, 1);

            Assert.IsNull(returnedValue);
        }
示例#10
0
        public void GetFormById_ReturnForm_WhenValidParametersIsProvided()
        {
            //Arrange
            var moqUnitOfWork = new Mock <IESUnitOfWork>();

            var forms = new List <FormQuestionTO>();

            forms.Add(new FormQuestionTO {
                Id = 1
            });
            forms.Add(new FormQuestionTO {
                Id = 2
            });

            moqUnitOfWork.Setup(x => x.QuestionRepository.GetAll()).Returns(forms);

            moqUnitOfWork.Setup(x => x.QuestionRepository.GetByID(It.IsAny <int>())).Returns(new FormQuestionTO {
                Id = 1
            });

            var moqUserService = new Mock <IUserServiceTemp>();

            moqUserService.Setup(x => x.IsExistentSession(It.IsAny <int>())).Returns(true);

            var sut       = new ESAttendeeRole(moqUnitOfWork.Object, moqUserService.Object);
            var SessionID = 1;
            var FormID    = 1; //Forms inexistant


            //ACT
            var FormToAssert = sut.GetFormById(SessionID, FormID);

            //ASSERT
            moqUnitOfWork.Verify(u => u.QuestionRepository.GetByID(It.IsAny <int>()), Times.Once);
            Assert.AreEqual(FormID, FormToAssert.Id);
        }