public void Overrides_Send_Email_Throws_Validation_Error_When_No_Criteria()
        {
            var inModel = new OverrideModel();

            inModel.Id = 1234;
            var           getRequest = MappingEngine.Map <OscOverrideReadUESRequest>(inModel);
            var           key        = new KeyModel("OverrideModel").Add(inModel.Id);
            OverrideModel cacheModel;

            mockCacheService.Setup(x => x.TryGet(key, out cacheModel)).Returns(true);
            mockMappingEngine.Setup(x => x.Map <OscOverrideReadUESRequest>(inModel)).Returns(getRequest);

            var response = new OscOverrideReadUESResponse {
                JobseekerId = 111111
            };
            var outModel = MappingEngine.Map <OverrideModel>(response);

            mockMappingEngine.Setup(x => x.Map <OscOverrideReadUESRequest>(inModel)).Returns(getRequest);
            mockOverridesWcf.Setup(x => x.LoadOverride(getRequest)).Returns(response);
            mockMappingEngine.Setup(m => m.Map <OverrideModel>(response)).Returns(outModel);

            var request = MappingEngine.Map <MessageRequest>(inModel);

            mockMappingEngine.Setup(x => x.Map <MessageRequest>(inModel)).Returns(request);
            mockAdwService.Setup(x => x.GetListCodeDescriptionShort("OVA", "FORW")).Returns("Forward");
            mockAdwService.Setup(x => x.GetListCodeDescriptionShort("ORS", inModel.Status)).Returns("Approved");
            SystemUnderTest().SendEmail(0, EmailAction.Forward, string.Empty, string.Empty);
        }
        public void Overrides_Get_Request_Valid_Input()
        {
            OverrideModel cacheModel;
            var           inModel = new OverrideModel();

            inModel.Id = 1234;
            var request = MappingEngine.Map <OscOverrideReadUESRequest>(inModel);
            var key     = new KeyModel("OverrideModel").Add(inModel.Id);

            mockCacheService.Setup(x => x.TryGet(key, out cacheModel)).Returns(true);
            mockMappingEngine.Setup(x => x.Map <OscOverrideReadUESRequest>(inModel)).Returns(request);

            var response = new OscOverrideReadUESResponse {
                JobseekerId = 111111
            };
            var outModel = MappingEngine.Map <OverrideModel>(response);

            mockMappingEngine.Setup(x => x.Map <OscOverrideReadUESRequest>(inModel)).Returns(request);
            mockOverridesWcf.Setup(x => x.LoadOverride(request)).Returns(response);
            mockMappingEngine.Setup(m => m.Map <OverrideModel>(response)).Returns(outModel);

            var result = SystemUnderTest().Get(inModel);

            Assert.IsNotNull(result);
            Assert.AreEqual(outModel.JobSeekerId, result.JobSeekerId);
        }
        public void Overrides_Get_Request_Not_Cached()
        {
            var inModel = new OverrideModel();

            inModel.Id = 1234;
            var request = MappingEngine.Map <OscOverrideReadUESRequest>(inModel);

            mockMappingEngine.Setup(x => x.Map <OscOverrideReadUESRequest>(inModel)).Returns(request);
            var           key = new KeyModel("OverrideModel").Add(inModel.Id);
            OverrideModel outModel;

            //outModel.JobSeekerId = 11111;
            mockCacheService.Setup(x => x.TryGet(key, out outModel)).Returns(false);


            var response = new OscOverrideReadUESResponse {
                JobseekerId = 111111, OutStatusHistoryGroup = new OutStatusHistoryGroup[] { new OutStatusHistoryGroup()
                                                                                            {
                                                                                                TextBlock = "Help"
                                                                                            } }
            };

            mockOverridesWcf.Setup(x => x.LoadOverride(request)).Returns(response);
            outModel          = MappingEngine.Map <OverrideModel>(response);
            outModel.Comments = MappingEngine.Map <IEnumerable <CommentModel> >(response.OutStatusHistoryGroup);
            mockMappingEngine.Setup(x => x.Map <OverrideModel>(response)).Returns(outModel);
            mockMappingEngine.Setup(x => x.Map <IEnumerable <CommentModel> >(response.OutStatusHistoryGroup)).Returns(outModel.Comments);

            mockCacheService.Setup(x => x.Set(key, outModel));

            var result = SystemUnderTest().Get(inModel);

            Assert.IsNotNull(result);
            Assert.AreEqual(outModel.JobSeekerId, result.JobSeekerId);
            Assert.AreEqual(outModel.Comments.First().Text, result.Comments.First().Text);
        }