Example #1
0
        public async Task given_valid_parameters_delete_contact_should_success
            ([Frozen] Mock <IContactRepository> contactRepositoy,
            entity.Contact contact,
            DeleteContactHandler handler)
        {
            var id = Guid.NewGuid();

            contactRepositoy.Setup(r => r.GetAsync(id)).ReturnsAsync(contact);

            var exception = await Record.ExceptionAsync(async() => await handler.HandleAsync(new DeleteContact(id)));

            exception.Should().BeNull();
        }
Example #2
0
        public async Task HandleAsync(CreateContact command)
        {
            bool isExist = await _repository.IsExist(command.Name, command.Surname, command.CompanyName);

            if (isExist)
            {
                throw new ContactAlreadyExistException(command.Name, command.Surname, command.CompanyName);
            }

            var contact = new entity.Contact(Guid.NewGuid(), command.Name, command.Surname, command.CompanyName, DateTime.Now);

            await _repository.AddAsync(contact);
        }
        public async Task given_invalid_location_should_throw_an_exception
            ([Frozen] Mock <IContactRepository> contactRepositoy,
            entity.Contact contact,
            AddContactInfoHandler handler)
        {
            var id = Guid.NewGuid();

            contactRepositoy.Setup(r => r.GetAsync(id)).ReturnsAsync(contact);
            string location  = "10";
            var    exception = await Record.ExceptionAsync(async() => await handler.HandleAsync(new AddContactInfo(id, "Location", location)));

            exception.Should().NotBeNull();
            exception.Should().BeOfType <InvalidLocationException>();
        }
        public async Task given_invalid_contact_should_throw_an_exception
            ([Frozen] Mock <IContactRepository> contactRepositoy,
            AddContactInfoHandler handler)
        {
            var id = Guid.NewGuid();

            entity.Contact contact = null;
            contactRepositoy.Setup(r => r.GetAsync(id)).ReturnsAsync(contact);

            var exception = await Record.ExceptionAsync(async() => await handler.HandleAsync(new AddContactInfo(id, "", "")));

            exception.Should().NotBeNull();
            exception.Should().BeOfType <ContactNotFoundException>();
        }
Example #5
0
 public static ContactDocument AsDocument(this entity.Contact entity)
 => new ContactDocument
 {
     Id           = entity.Id,
     Name         = entity.Name,
     Surname      = entity.Surname,
     CompanyName  = entity.CompanyName,
     CreatedAt    = entity.CreatedAt,
     ContactInfos = entity.ContactInfos.Select(p => new ContactInfoDocument
     {
         InfoType    = p.InfoType,
         InfoContent = p.InfoContent,
         CreatedAt   = p.CreatedAt
     })
 };
Example #6
0
 public Task UpdateAsync(entity.Contact contact) => _repository.UpdateAsync(contact.AsDocument());
Example #7
0
 public Task AddAsync(entity.Contact contact) => _repository.AddAsync(contact.AsDocument());