public async Task CreatePhoneBookRecord_When_Validation_Has_Failed_Do_Not_Invoke_All_Interfaces() { // Arrange var mockPhoneBookRespository = new Mock <IRepository <PhoneBook> >(); var mockValidate = new Mock <IValidatorObject <PhoneBookDto> >(); mockValidate.Setup(x => x.ValidateWithResultAsync(It.IsAny <PhoneBookDto>(), It.IsAny <CancellationToken>())).ReturnsAsync(FailedFakeValidationResponse()); var addPhoneBookRecord = new AddPhoneBookRecord(mockPhoneBookRespository.Object, mockValidate.Object); // Act var phonebookDto = new PhoneBookDto { FirstName = "Test Firstname", Surname = "Test Surname", PhoneNumber = "0215365215" }; await addPhoneBookRecord.CreatePhoneBookRecord(phonebookDto, It.IsAny <CancellationToken>()); // Assert mockValidate.Verify(x => x.ValidateWithResultAsync(It.IsAny <PhoneBookDto>(), It.IsAny <CancellationToken>()), Times.Once); // This should not be invoked mockPhoneBookRespository.Verify(x => x.Add(It.IsAny <PhoneBook>()), Times.Never); }
public async Task CreatePhoneBookRecord_Success() { // Arrange var mockPhoneBookRespository = new Mock <IRepository <PhoneBook> >(); var mockValidate = new Mock <IValidatorObject <PhoneBookDto> >(); mockValidate.Setup(x => x.ValidateWithResultAsync(It.IsAny <PhoneBookDto>(), It.IsAny <CancellationToken>())).ReturnsAsync(SuccessFakeValidationResponse()); var addPhoneBookRecord = new AddPhoneBookRecord(mockPhoneBookRespository.Object, mockValidate.Object); // Act var phonebookDto = new PhoneBookDto { FirstName = "Test Firstname", Surname = "Test Surname", PhoneNumber = "0215365215" }; await addPhoneBookRecord.CreatePhoneBookRecord(phonebookDto, It.IsAny <CancellationToken>()); // Assert mockValidate.Verify(x => x.ValidateWithResultAsync(It.IsAny <PhoneBookDto>(), It.IsAny <CancellationToken>()), Times.Once); mockPhoneBookRespository.Verify(x => x.Add(It.IsAny <PhoneBook>()), Times.Once); }
public async Task <ActionResult <PhoneBookDto> > Post([FromBody] PhoneBookDto value) { var created = await _phoneBookService.CreatePhoneBook(value); if (created) { return(Ok(value)); } return(BadRequest("Either Duplicate primary key added or no phone book name")); }
public static Directory MapById(PhoneBookDto phoneBookDto, List <EntryBookDto> entryBook) { Directory phoneBook = new Directory(); List <EntryBookDto> entryBooks = new List <EntryBookDto>(); phoneBook.PhoneBookId = phoneBookDto.PhoneBookId; phoneBook.PhoneBookName = phoneBookDto.PhoneBookName; phoneBook.Entries = entryBook; return(phoneBook); }
public async Task <ActionResult <ValidationResponseDto> > AddPhoneBook([FromBody] PhoneBookDto phoneBook, [FromServices] IAddPhoneBookRecord addPhoneBookRecord, CancellationToken cancellationtoken) { var response = await addPhoneBookRecord.CreatePhoneBookRecord(phoneBook, cancellationtoken); if (!response.IsValid) { return(BadRequest(response)); } return(Ok(response)); }
public async Task <bool> CreatePhoneBook(PhoneBookDto phoneBookDto) { var obj = _dbContext.PhoneBookDto.Where(x => x.PhoneBookId == phoneBookDto.PhoneBookId).FirstOrDefault(); if (obj == null && !(String.IsNullOrEmpty(phoneBookDto.PhoneBookName))) { await _dbContext.PhoneBookDto.AddAsync(phoneBookDto); int phoneEntry = await _dbContext.SaveChangesAsync(); if (phoneEntry != 0) { return(true); } return(false); } return(false); }
public async Task <ValidationResponseDto> CreatePhoneBookRecord(PhoneBookDto phoneBookDto, CancellationToken cancellationToken = default(CancellationToken)) { var validationResponse = await this.validator.ValidateWithResultAsync(phoneBookDto, cancellationToken); if (!validationResponse.IsValid) { return(validationResponse); } // TODO: add autofac to map objects var phonebook = new PhoneBook(); phonebook.FirstName = phoneBookDto.FirstName; phonebook.Surname = phoneBookDto.Surname; phonebook.PhoneNumber = phoneBookDto.PhoneNumber; await this.repository.Add(phonebook); return(validationResponse); }
public async Task <bool> CreatePhoneBook(PhoneBookDto phoneBookDto) { var created = await _phoneBookRepo.CreatePhoneBook(phoneBookDto); return(created); }
public async Task CreatePhoneBook(PhoneBookDto phoneBookDto) { await _phoneBookService.CreatePhoneBook(phoneBookDto); }
public async Task <ActionResult <PhoneBookDto> > Post([FromBody] PhoneBookDto value) { await _phoneBookService.CreatePhoneBook(value); return(Ok(value)); }