Exemple #1
0
        public void ShouldGetAllMessagesSentByAUser()
        {
            // Arrange Data ----
            AllMessageRequest Request = new AllMessageRequest();

            Request.From = "userVIP";

            var listOfMessages = new List <AspNetUserMessage>();

            listOfMessages.Add(new AspNetUserMessage {
                From = Request.From,
                To   = "User1",
                Text = "DummyTxt"
            });

            listOfMessages.Add(new AspNetUserMessage
            {
                From = "User2",
                To   = Request.From,
                Text = "txt2"
            });

            var newContext = new TestStoreAppContext();

            foreach (AspNetUserMessage msg in listOfMessages)
            {
                newContext.AspNetUserMessages.Add(msg);
            }

            // Setup database mocker
            var controller = new MessageController(newContext);

            // Act ---
            List <AspNetUserMessage> response = controller.GetAllMessages(Request).AsEnumerable().ToList();

            // Assert ---
            Assert.True(response.SequenceEqual(listOfMessages));
        }
        /// <summary>
        /// Gets a list of Notification messages for a job seeker.
        /// </summary>
        /// <param name="jobseekerID">Requested Jobseeker ID.</param>
        /// <returns>A collection of <see cref="NotificationModel" /> for the jobseeker.</returns>
        public IEnumerable <NotificationModel> GetList(long jobseekerID)
        {
            var cacheKey = new KeyModel(CacheType.Global, "NotificationList").Add(jobseekerID.ToString());

            IEnumerable <NotificationModel> cacheValue = null;

            if (CacheService.TryGet(cacheKey, out cacheValue))
            {
                return(cacheValue);
            }

            var request = new AllMessageRequest {
                JobseekerId = jobseekerID
            };

            ValidateRequest(request);

            try
            {
                var service = Client.Create <IDiaryNotification>("DiaryNotification.svc");

                var response = service.JobseekerGetAllMessages(request);

                ValidateResponse(response);

                var model = new List <NotificationModel>();

                if (response.SqlLists != null && response.SqlLists.Length > 0)
                {
                    var sqlModel = response.SqlLists.ToNotificationModelList();//   MappingEngine.Map<IEnumerable<NotificationModel>>(response.SqlLists);
                    model.AddRange(sqlModel);
                }
                if (response.MFLists != null && response.MFLists.Length > 0)
                {
                    var mfModel = response.MFLists.ToNotificationModelList();//MappingEngine.Map<IEnumerable<NotificationModel>>(response.MFLists);
                    model.AddRange(mfModel);
                }

                // TODO sort ?

                var i = 0;
                foreach (var item in model)
                {
                    item.ListItemID = i;
                    i++;
                    item.JobseekerID = jobseekerID;
                }

                CacheService.Set(cacheKey, model);

                return(model);
            }
            catch (FaultException <ValidationFault> vf)
            {
                throw vf.ToServiceValidationException();
            }
            catch (FaultException fe)
            {
                throw fe.ToServiceValidationException();
            }
        }