public void ToDomain_WhenCalled_ReturnsContact()
        {
            IUpdateContactCommand sut = CreateSut();

            IContact result = sut.ToDomain(_contactRepositoryMock.Object, _accountingRepositoryMock.Object);

            Assert.That(result, Is.TypeOf <Contact>());
        }
        public void ToDomain_WhenCalled_ReturnsContactWithoutInternalIdentifier()
        {
            IUpdateContactCommand sut = CreateSut();

            string result = sut.ToDomain(_contactRepositoryMock.Object, _accountingRepositoryMock.Object).InternalIdentifier;

            Assert.That(result, Is.Null);
        }
        public void ToDomain_WhenCalled_ReturnsContactWithExternalIdentifierFromCommand()
        {
            string externalIdentifier = _fixture.Create <string>();
            IUpdateContactCommand sut = CreateSut(externalIdentifier);

            string result = sut.ToDomain(_contactRepositoryMock.Object, _accountingRepositoryMock.Object).ExternalIdentifier;

            Assert.That(result, Is.EqualTo(externalIdentifier));
        }
        public void ToDomain_WhenAccountingRepositoryIsNull_ThrowsArgumentNullException()
        {
            IUpdateContactCommand sut = CreateSut();

            ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.ToDomain(_contactRepositoryMock.Object, null));

            Assert.That(result.ParamName, Is.EqualTo("accountingRepository"));
        }