public void WhenDataAccessFailsServiceThrowsException()
        {
            var userGuid = Guid.Parse("7c1e916c-6984-44b8-9778-c89704d08dda");
            // Arrange
            var model = new EventModel
            {
                Type   = EventType.AppointmentCancelled,
                UserId = userGuid,
                Data   = new EventData
                {
                    Firstname = "name",
                    Reason    = "reason"
                }
            };
            var mockDataAccess = new Mock <INotificationsAccess>();

            mockDataAccess.Setup(access => access.GetTemplate(It.IsAny <EventType>()))
            .Throws(new Exception());

            var mockParser = new Mock <IBodyParser>();

            mockParser.Setup(parser => parser.ParseEventBody(It.IsAny <string>(), It.IsAny <EventData>()))
            .Returns("parsed body");


            var systemUnderTest = new Services.NotificationsService(mockDataAccess.Object, mockParser.Object);

            // Act/Assert
            Assert.Throws <Exception>(() => systemUnderTest.CreateNotification(model));
        }
        public void WhenMethodIsCalledBodyParserIsCalledWithRightTemplateBody()
        {
            var userGuid = Guid.Parse("7c1e916c-6984-44b8-9778-c89704d08dda");
            // Arrange
            var model = new EventModel
            {
                Type   = EventType.AppointmentCancelled,
                UserId = userGuid,
                Data   = new EventData
                {
                    Firstname = "name",
                    Reason    = "reason"
                }
            };
            var mockDataAccess = new Mock <INotificationsAccess>();
            var mockParser     = new Mock <IBodyParser>();

            mockDataAccess.Setup(access => access.GetTemplate(It.IsAny <EventType>()))
            .Returns(new TemplateModel
            {
                Body = "body"
            });

            var systemUnderTest = new Services.NotificationsService(mockDataAccess.Object, mockParser.Object);

            // Act
            systemUnderTest.CreateNotification(model);

            // Assert
            mockParser.Verify(parser => parser
                              .ParseEventBody(It.Is <string>(body => body == "body"),
                                              It.IsAny <EventData>()));
        }
示例#3
0
        public void WhenMethodIsCalledDataAccessIsCalledWithTheRightId()
        {
            var userGuid = Guid.Parse("7c1e916c-6984-44b8-9778-c89704d08dda");
            // Arrange

            var mockDataAccess = new Mock <INotificationsAccess>();
            var mockParser     = new Mock <IBodyParser>();


            var systemUnderTest = new Services.NotificationsService(mockDataAccess.Object, mockParser.Object);

            // Act
            systemUnderTest.GetNotificationsByUser(userGuid);

            // Assert
            mockDataAccess.Verify(access => access
                                  .GetNotificationsById(It.Is <Guid>(x => x == userGuid)));
        }
示例#4
0
        public JsonResult Register()
        {
            try
            {
                Services.NotificationsService serv = new Services.NotificationsService(_context, _appsettings);

                System.IO.StreamReader r = new System.IO.StreamReader(Request.Body);
                string data = r.ReadToEnd();

                object o = JsonConvert.DeserializeObject <Services.NotificationsService.RegistrationObject>(data);

                Services.NotificationsService.RegistrationObject obj = JsonConvert.DeserializeObject <Services.NotificationsService.RegistrationObject>(data);


                return(serv.register(obj));
            }
            catch (JsonException ex)
            {
                return(new JsonResult("Error: " + ex.Message));
            }
        }