Пример #1
0
        public void Test_Get_傳入員編陣列_預期_回傳對應員工資料()
        {
            // arrange
            // 模擬 service 吐出的資料
            var serviceDummyData = ServiceDummyData();
            this.SMEmployeeService.Get(Arg.Any<Service.DTOs.SMEmployeeParameterDto>())
                .Returns(serviceDummyData);

            var controller = this.GetSystemUnderTestInstance();

            var responseId = new Guid("431C5A69-6464-422E-B79D-8A206069145C");
            controller.ResponseId = responseId;

            var parameter = new Models.ParameterModels.SMEmployeeParameter
            {
                EmpIds = new string[] { "F2949" }
            };

            // 預期資料
            var expected = new SuccessOutputModel<List<Models.OutputModels.SMEmployeeViewModel>>()
            {
                ApiVersion = "1.0.0",
                Method = "/deptemp/employee/get.GET",
                Data = new List<Models.OutputModels.SMEmployeeViewModel>
                {
                    new Models.OutputModels.SMEmployeeViewModel
                    {
                        DeptId = "MH2",
                        DeptName = "資訊處",
                        EmpId = "F2949",
                        EmpName = "廖柏嘉",
                        JobId = "1",
                        LeaveDate = null,
                        ParentDeptId = "MG1",
                        ParentDeptName = "永慶集團",
                        Depts = new List<Models.OutputModels.SMEmployeeDeptViewModel>
                            {
                                new Models.OutputModels.SMEmployeeDeptViewModel
                                {
                                    DeptId = "MH2",
                                    DeptName = "資訊處",
                                    JobId = "1",
                                    Leader=4,
                                    ParentDeptId="MG1",
                                    ParentDeptName = "永慶集團",
                                    Type = "0010"
                                },
                                new Models.OutputModels.SMEmployeeDeptViewModel
                                {
                                    DeptId = "MLC",
                                    DeptName = "研發中心",
                                    JobId = "1",
                                    Leader=1,
                                    ParentDeptId="MLE",
                                    ParentDeptName = "資訊處(部)",
                                    Type = "0"
                                },
                                new Models.OutputModels.SMEmployeeDeptViewModel
                                {
                                    DeptId = "MLE",
                                    DeptName = "資訊處(部)",
                                    JobId = "1",
                                    Leader=4,
                                    ParentDeptId="MH2",
                                    ParentDeptName = "資訊處",
                                    Type = "0"
                                }
                            }
                    }
                },
                Id = responseId
            };

            // act
            HttpResponseMessage actual = controller.Get(parameter);

            SuccessOutputModel<List<Models.OutputModels.SMEmployeeViewModel>> actualResultModel;
            actual.TryGetContentValue(out actualResultModel).Should().BeTrue();

            // assert
            actualResultModel.ToExpectedObject().ShouldEqual(expected);
        }
Пример #2
0
        public void Test_Get_沒有傳入必要參數_預期_拋出_validationException()
        {
            // arrange
            var controller = this.GetSystemUnderTestInstance();

            var parameter = new Models.ParameterModels.SMEmployeeParameter
            {
                IsValidOnly = true
            };

            // act
            var actual = controller.Get(null);
        }