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>())); }
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))); }
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)); } }