public async void CreateReservation_True() { //arrange var contact = ContactFaker.GetContactOk(); var contactType = ContactTypeFaker.GetContactTypeOk(); var faker = new Faker(); var message = faker.Lorem.Paragraph(); var createReservationCommand = new CreateReservationCommand( contactId: contact.Id, contactName: contact.Name, contactPhone: contact.Name, contactBirthdate: contact.BirthDate, contactTypeId: contactType.Id, message: message ); _dependencyResolverMock .Setup(x => x.Resolve <IReservationRepository>()) .Returns(_reservationRepositoryMock.Object); _dependencyResolverMock .Setup(x => x.Resolve <IContactRepository>()) .Returns(_contactRepositoryMock.Object); _dependencyResolverMock .Setup(x => x.Resolve <IContactTypeRepository>()) .Returns(_contactTypeRepositoryMock.Object); _contactRepositoryMock.Setup(x => x.GetByIdAsync(createReservationCommand.ContactId.Value)) .Returns(Task.FromResult(contact)); _reservationRepositoryMock.Setup(x => x.CommitAsync()) .Returns(Task.FromResult(CommitResponse.Ok())); var handler = new ReservationCommandHandler(_dependencyResolverMock.Object); //Act var result = await handler.Handle(createReservationCommand, new CancellationToken()); //Assert Assert.True(result.Success); _contactRepositoryMock.Verify(x => x.GetByIdAsync(createReservationCommand.ContactId.Value), Times.Once); _reservationRepositoryMock.Verify(x => x.AddAsync(It.IsAny <Reservation>()), Times.Once); _reservationRepositoryMock.Verify(x => x.CommitAsync(), Times.Once); }
public async void DeleteContact_ContactNull_False() { //arrange var contact = ContactFaker.GetContactOk(); var deleteContactCommand = new DeleteContactCommand(contact.Id); _dependencyResolverMock .Setup(x => x.Resolve <IMediatorHandler>()) .Returns(_mediatorHandler.Object); _dependencyResolverMock .Setup(x => x.Resolve <IContactRepository>()) .Returns(_contactRepositoryMock.Object); _dependencyResolverMock .Setup(x => x.Resolve <IContactTypeRepository>()) .Returns(_contactTypeRepositoryMock.Object); _contactRepositoryMock .Setup(x => x.GetByIdAsync(deleteContactCommand.ContactId)) .Returns(Task.FromResult((Contact)null)); _contactRepositoryMock .Setup(x => x.CommitAsync()) .Returns(Task.FromResult(CommitResponse.Ok())); var handler = new ContactCommandHandler(_dependencyResolverMock.Object); //act var result = await handler.Handle(deleteContactCommand, new CancellationToken()); //Assert Assert.False(result.Success); _contactRepositoryMock.Verify(x => x.GetByIdAsync(deleteContactCommand.ContactId), Times.Once); _contactRepositoryMock.Verify(x => x.Update(contact), Times.Never); _contactRepositoryMock.Verify(x => x.CommitAsync(), Times.Never); _mediatorHandler.Verify(x => x.NotifyDomainNotification(It.IsAny <DomainNotification>()), Times.Once); }
public async Task <CommitResponse> CommitAsync() { try { var rowsAffected = await Context.SaveChangesAsync(); return(rowsAffected > 0 ? CommitResponse.Ok(rowsAffected) : CommitResponse.Fail()); } catch (Exception ex) { return(CommitResponse.Fail(ex.Message)); } }
public async void CreateContact_ContactInvalid_False() { //arrange var contact = ContactFaker.GetContactContactNameLess(); var createContactCommand = new CreateContactCommand( contactName: contact.Name, contactPhone: contact.PhoneNumber, contactBirthDate: contact.BirthDate, contactTypeId: contact.ContactTypeId ); _dependencyResolverMock .Setup(x => x.Resolve <IContactTypeRepository>()) .Returns(_contactTypeRepositoryMock.Object); _dependencyResolverMock .Setup(x => x.Resolve <IContactRepository>()) .Returns(_contactRepositoryMock.Object); _dependencyResolverMock .Setup(x => x.Resolve <IMediatorHandler>()) .Returns(_mediatorHandler.Object); _contactTypeRepositoryMock.Setup(x => x.GetByIdAsync(createContactCommand.ContactTypeId)) .Returns(Task.FromResult(contact.ContactType)); _contactRepositoryMock.Setup(x => x.CommitAsync()) .Returns(Task.FromResult(CommitResponse.Ok())); var handler = new ContactCommandHandler(_dependencyResolverMock.Object); //act var result = await handler.Handle(createContactCommand, new CancellationToken()); //Assert Assert.False(result.Success); _contactTypeRepositoryMock.Verify(x => x.GetByIdAsync(createContactCommand.ContactTypeId), Times.Once); _mediatorHandler.Verify(x => x.NotifyDomainNotification(It.IsAny <DomainNotification>()), Times.AtLeastOnce); _contactRepositoryMock.Verify(x => x.AddAsync(It.IsAny <Contact>()), Times.Never); _contactRepositoryMock.Verify(x => x.CommitAsync(), Times.Never); }
public async void EditContact_True() { //arrange var contact = ContactFaker.GetContactOk(); var contactType = ContactTypeFaker.GetContactTypeOk(); var faker = new Faker(); var contactName = faker.Person.FullName; var randomizerTextRegex = RandomizerFactory .GetRandomizer(new FieldOptionsTextRegex { Pattern = @"^\(999\) 999-\d{4}$" }); var contactPhone = randomizerTextRegex.Generate().ToUpper(); var contactBirthDate = faker.Date.Past(); var editContactCommand = new EditContactCommand( contactId: contact.Id, contactName: contactName, contactPhone: contactPhone, contactBirthDate: contactBirthDate, contactTypeId: contactType.Id ); _dependencyResolverMock .Setup(x => x.Resolve <IContactRepository>()) .Returns(_contactRepositoryMock.Object); _dependencyResolverMock .Setup(x => x.Resolve <IContactTypeRepository>()) .Returns(_contactTypeRepositoryMock.Object); _contactRepositoryMock .Setup(x => x.GetByIdAsync(editContactCommand.ContactId)) .Returns(Task.FromResult(contact)); _contactTypeRepositoryMock .Setup(x => x.GetByIdAsync(editContactCommand.ContactTypeId)) .Returns(Task.FromResult(contactType)); _contactRepositoryMock .Setup(x => x.CommitAsync()) .Returns(Task.FromResult(CommitResponse.Ok())); var handler = new ContactCommandHandler(_dependencyResolverMock.Object); //act var result = await handler.Handle(editContactCommand, new CancellationToken()); //result Assert.True(result.Success); _contactRepositoryMock.Verify(x => x.GetByIdAsync(editContactCommand.ContactId), Times.Once); _contactTypeRepositoryMock.Verify(x => x.GetByIdAsync(editContactCommand.ContactTypeId), Times.Once); _contactRepositoryMock.Verify(x => x.Update(contact), Times.Once); _contactRepositoryMock.Verify(x => x.CommitAsync(), Times.Once); _mediatorHandler.Verify(x => x.NotifyDomainNotification(It.IsAny <DomainNotification>()), Times.Never); }