public void Put_ManagerCalled()
        {
            // Arrange
            var courses = new Collection <RestEducationPlanCourse> {
                new RestEducationPlanCourse
                {
                    Code = "2NETARCH"
                },
                new RestEducationPlanCourse
                {
                    Code = "ADCSB"
                },
            };
            RestEducationPlan restEducationPlan = GetDummyRestEducationPlan(courses);

            var educationPlanManagerMock = new Mock <IEducationPlanManager>(MockBehavior.Strict);

            educationPlanManagerMock.Setup(manager => manager.SaveEducationPlan(restEducationPlan)).Returns(1);

            EducationPlanController controller = new EducationPlanController(educationPlanManagerMock.Object);

            // Act
            var result = controller.Put(restEducationPlan);


            // Assert
            Assert.AreEqual(1, result);
            educationPlanManagerMock.Verify(manager => manager.SaveEducationPlan(restEducationPlan));
        }
        public void GenerateEducationPlan_ManagerCalled()
        {
            // Arrange
            var courses = new Collection <RestEducationPlanCourse> {
                new RestEducationPlanCourse
                {
                    Code = "2NETARCH"
                },
                new RestEducationPlanCourse
                {
                    Code = "ADCSB"
                },
            };

            RestEducationPlan restEducationPlan = GetDummyRestEducationPlan(courses);

            var educationPlanManagerMock = new Mock <IEducationPlanManager>(MockBehavior.Strict);

            educationPlanManagerMock.Setup(manager => manager.PreviewEducationPlan(restEducationPlan)).Returns(GetDummyEducationPlan());

            EducationPlanController controller = new EducationPlanController(educationPlanManagerMock.Object);

            // Act
            controller.GenerateEducationPlan(restEducationPlan);


            // Assert
            educationPlanManagerMock.Verify(manager => manager.PreviewEducationPlan(restEducationPlan));
        }
        public void FindAllUpdated_ManagerCalled()
        {
            // Arrange
            var educationPlanManagerMock = new Mock <IEducationPlanManager>(MockBehavior.Strict);

            educationPlanManagerMock.Setup(manager => manager.FindAllUpdated()).Returns(GetDummyEducationPlanCompareList());

            EducationPlanController controller = new EducationPlanController(educationPlanManagerMock.Object);

            // Act
            controller.FindAllUpdated();

            // Assert
            educationPlanManagerMock.Verify(manager => manager.FindAllUpdated());
        }
        public void Delete_ManagerCalled()
        {
            // Arrange
            var educationPlanManagerMock = new Mock <IEducationPlanManager>(MockBehavior.Strict);

            educationPlanManagerMock.Setup(manager => manager.DeleteEducationPlan(1));

            EducationPlanController controller = new EducationPlanController(educationPlanManagerMock.Object);

            // Act
            controller.Delete(1);

            // Assert
            educationPlanManagerMock.Verify(manager => manager.DeleteEducationPlan(1));
        }
        public void GenerateWordFile_ManagerCalled()
        {
            // Arrange
            var educationPlanManagerMock = new Mock <IEducationPlanManager>(MockBehavior.Strict);

            educationPlanManagerMock.Setup(manager => manager.FindEducationPlan(1)).Returns(GetDummyEducationPlan());
            educationPlanManagerMock.Setup(manager => manager.GenerateWordFile(It.IsAny <EducationPlan>())).Returns("path");

            EducationPlanController controller = new EducationPlanController(educationPlanManagerMock.Object);

            // Act
            var result = controller.GenerateWordFile(1);

            // Assert
            Assert.AreEqual("path", result);
            educationPlanManagerMock.Verify(manager => manager.FindEducationPlan(1));
            educationPlanManagerMock.Verify(manager => manager.GenerateWordFile(It.IsAny <EducationPlan>()));
        }
        public void Search_ManagerCalled()
        {
            // Arrange
            var educationPlanManagerMock = new Mock <IEducationPlanManager>(MockBehavior.Strict);

            educationPlanManagerMock.Setup(manager => manager.FindEducationPlans(It.IsAny <EducationPlanSearch>())).Returns(new List <EducationPlan>()
            {
                GetDummyEducationPlan()
            });

            EducationPlanController controller = new EducationPlanController(educationPlanManagerMock.Object);

            // Act
            controller.Get("Pim", 1);

            // Assert
            educationPlanManagerMock.Verify(manager => manager.FindEducationPlans(It.IsAny <EducationPlanSearch>()));
        }