public async Task GetDomainAsync_ValidParameters_ExpectedResult()
        {
            _client.GetAsync <Domain>($"/ddosx/v1/domains/test-domain.co.uk").Returns(new Domain()
            {
                Name = "test-domain.co.uk"
            });

            var ops    = new DomainOperations <Domain>(_client);
            var domain = await ops.GetDomainAsync("test-domain.co.uk");

            Assert.AreEqual("test-domain.co.uk", domain.Name);
        }
        public async Task GetDomainAsync_ValidParameters_ExpectedResult()
        {
            IUKFastRegistrarClient client = Substitute.For <IUKFastRegistrarClient>();

            client.GetAsync <Domain>("/registrar/v1/domains/ukfast.co.uk").Returns(new Domain()
            {
                Name = "ukfast.co.uk"
            });

            var ops    = new DomainOperations <Domain>(client);
            var domain = await ops.GetDomainAsync("ukfast.co.uk");

            Assert.AreEqual("ukfast.co.uk", domain.Name);
        }
        public async Task GetDomainAsync_InvalidDomainName_ThrowsUKFastClientValidationException()
        {
            var ops = new DomainOperations <Domain>(null);

            await Assert.ThrowsExceptionAsync <UKFastClientValidationException>(() => ops.GetDomainAsync(""));
        }