public void SendCPMessagesJobSavesMessages() { // Arrange IDataAccess dataAccess = GetMockDataAccess(); var sut = new SendUserEmployeeMessageJob(); const string Content = "Test Content"; var messageModel = new Message { Content = Content, Id = 1, Subject = "None", }; messageModel.MessageNotifications.Add(new MessageNotification { EmployeeId = 5 }); messageModel.MessageNotifications.Add(new MessageNotification { EmployeeId = 6 }); sut.Initialise(new JobQueue(), dataAccess, new NullLogger(), new Dictionary<string, JobParameter>()); // Act sut.SendMessage(messageModel); // Assert IList<object[]> arguments = dataAccess.GetArgumentsForCallsMadeOn(x => x.Save(Arg<IEnumerable<MessageEmployeeUser>>.Is.Anything)); var savedMessages = (IEnumerable<MessageEmployeeUser>)arguments[0][0]; Assert.AreEqual(2, savedMessages.Count()); MessageEmployeeUser message = savedMessages.First(); Assert.AreEqual(Content, message.Message); Assert.AreEqual(5, message.EmployeeId); message = savedMessages.Last(); Assert.AreEqual(Content, message.Message); Assert.AreEqual(6, message.EmployeeId); }