public void ShouldThrowArgumentNullException_WhenNullUserIsPassed() { // Arrange var contact = new Mock <Contact>(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedGenericRepository = new Mock <IGenericRepository <Contact> >(); var contactsService = new ContactsService(mockedUnitOfWork.Object, mockedGenericRepository.Object); // Act and Assert Assert.Throws <ArgumentNullException>(() => contactsService.ChangeContactStatus(contact.Object, 2, "user-id", null)); }
public void ShouldThrowInvalidCastException_WhenInvalidStatusTypeIsPassed() { // Arrange var contact = new Mock <Contact>(); var user = new Mock <User>(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedGenericRepository = new Mock <IGenericRepository <Contact> >(); mockedGenericRepository.Setup(gr => gr.Update(contact.Object)).Verifiable(); var contactsService = new ContactsService(mockedUnitOfWork.Object, mockedGenericRepository.Object); // Act and Assert Assert.Throws <InvalidCastException>(() => contactsService.ChangeContactStatus(contact.Object, 4, "user-id", user.Object)); }
public void ShouldThrowArgumentNullExceptionWithCorrectMessage_WhenNullUserIsPassed() { // Arrange var expectedExMessage = "User cannot be null."; var contact = new Mock <Contact>(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedGenericRepository = new Mock <IGenericRepository <Contact> >(); var contactsService = new ContactsService(mockedUnitOfWork.Object, mockedGenericRepository.Object); // Act and Assert var exception = Assert.Throws <ArgumentNullException>(() => contactsService.ChangeContactStatus(contact.Object, 2, "user-id", null)); StringAssert.Contains(expectedExMessage, exception.Message); }
public void ShouldAssignUserProccessedByWithPassedUser_WhenStatusTypeIsProccessedOrProccessing(int statusType, string userId) { // Arrange var user = new Mock <User>(); var contact = new Contact(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedGenericRepository = new Mock <IGenericRepository <Contact> >(); var contactsService = new ContactsService(mockedUnitOfWork.Object, mockedGenericRepository.Object); // Act contactsService.ChangeContactStatus(contact, statusType, userId, user.Object); // Assert Assert.AreEqual(userId, contact.UserProccessedById); }
public void ShouldAssignUserProccessedByIdToNull_WhenStatusTypeIsNotProcessed(int statusType) { // Arrange var user = new Mock <User>(); var contact = new Contact(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedGenericRepository = new Mock <IGenericRepository <Contact> >(); var contactsService = new ContactsService(mockedUnitOfWork.Object, mockedGenericRepository.Object); // Act contactsService.ChangeContactStatus(contact, statusType, "user-id", user.Object); // Assert Assert.AreEqual(null, contact.UserProccessedById); }
public void ShouldAssignNewContactStatus_WhenValidStatusTypeIsPassed(int statusType) { // Arrange var user = new Mock <User>(); var contact = new Contact(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedGenericRepository = new Mock <IGenericRepository <Contact> >(); var contactsService = new ContactsService(mockedUnitOfWork.Object, mockedGenericRepository.Object); // Act contactsService.ChangeContactStatus(contact, statusType, "user-id", user.Object); // Assert Assert.AreEqual((ContactStatusType)statusType, contact.ContactStatusType); }
public void ShouldCallCommitMethodOfUnitOfWorkOnce_WhenAContactIsPassed() { // Arrange var contact = new Mock <Contact>(); var user = new Mock <User>(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedGenericRepository = new Mock <IGenericRepository <Contact> >(); mockedUnitOfWork.Setup(uow => uow.Commit()).Verifiable(); var contactsService = new ContactsService(mockedUnitOfWork.Object, mockedGenericRepository.Object); // Act contactsService.ChangeContactStatus(contact.Object, 2, "user-id", user.Object); // Assert mockedUnitOfWork.Verify(uow => uow.Commit(), Times.Once); }
public void ShouldThrowInvalidCastExceptionWithCorrectMessage_WhenInvalidStatusTypeIsPassed() { // Arrange var expectedExMessage = "Contact status type is out of enumeration range."; var contact = new Mock <Contact>(); var user = new Mock <User>(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedGenericRepository = new Mock <IGenericRepository <Contact> >(); mockedGenericRepository.Setup(gr => gr.Update(contact.Object)).Verifiable(); var contactsService = new ContactsService(mockedUnitOfWork.Object, mockedGenericRepository.Object); // Act and Assert var exception = Assert.Throws <InvalidCastException>(() => contactsService.ChangeContactStatus(contact.Object, 4, "user-id", user.Object)); StringAssert.Contains(expectedExMessage, exception.Message); }