예제 #1
0
        public void Update_GetAndUpdate_CallsConnectorWithUpdate()
        {
            var existing = new Contact()
            {
                id = 1234,
            };
            var data = new Contract.Model.Contact()
            {
                Id = existing.id
            };
            var existingMapped = new Contact();
            var saveResult     = new Contact();
            var mappedResult   = new Contract.Model.Contact()
            {
                Company = "I'm mapped"
            };

            _defaultConnector.Setup(c => c.GetById(existing.id.Value)).Returns(existing);
            _mapper.Setup(c => c.MapToApi(data, existing)).Returns(existingMapped);
            _defaultConnector.Setup(c => c.Update(data.Id.Value, It.Is <ContactWrapper>(v => v.contact == existingMapped))).Returns(saveResult);
            _mapper.Setup(c => c.MapToContract(saveResult)).Returns(mappedResult);

            var result = _contactService.Update(data.Id.Value, data);

            result.Should().BeEquivalentTo(mappedResult);
            _defaultConnector.Verify(c => c.Update(data.Id.Value, It.Is <ContactWrapper>(v => v.contact == existingMapped)), Times.Once);
        }
예제 #2
0
        public void GetById_CallsGetById_ReturnsMappedObjects()
        {
            var id      = 1234;
            var contact = new Contact();

            _defaultConnector.Setup(c => c.GetById(id)).Returns(contact);

            var mappedItem = new Contract.Model.Contact();

            _mapper.Setup(c => c.MapToContract(contact)).Returns(mappedItem);

            var item = _contactService.GetById(id);

            item.Should().BeEquivalentTo(mappedItem);
        }
예제 #3
0
        public void Create_MapsToApi_CallsConnectorWithWrapper()
        {
            var contact       = new Contract.Model.Contact();
            var update        = new Contact();
            var resultContact = new Contact()
            {
                id = 1234
            };

            _mapper.Setup(c => c.MapToApi(contact, null)).Returns(update);
            _defaultConnector.Setup(c => c.Create(It.Is <ContactWrapper>(v => v.contact == update))).Returns(resultContact);

            var result = _contactService.Create(contact);

            result.Should().Be(resultContact.id);
            _defaultConnector.Verify(c => c.Create(It.Is <ContactWrapper>(v => v.contact == update)), Times.Once);
        }
예제 #4
0
        public void Get_CallsGetList_ReturnsMappedObjects()
        {
            var contact = new Contact();

            _defaultConnector.Setup(c => c.GetList()).Returns(new List <Contact>()
            {
                contact
            });

            var mappedItem = new Contract.Model.Contact();

            _mapper.Setup(c => c.MapToContract(contact)).Returns(mappedItem);

            var items = _contactService.Get();

            items.Should().Contain(mappedItem);
        }