public async Task GetPropertyByIdAsync()
        {
            var portfolio1 = new Portfolio {
                Name = "Portfolio1"
            };
            var property = new Property
            {
                Address = new Address
                {
                    City            = "Exeter",
                    CreatedDateTime = DateTime.Now.AddDays(-3),
                    IsActive        = true,
                    Line1           = "Line 1",
                    Line2           = "Line 2",
                    PostCode        = "Postcode",
                    Town            = "Town"
                },
                Description     = "Description",
                IsActive        = true,
                NoOfBeds        = 2,
                PropertyValue   = 12345,
                PurchaseDate    = new DateTime(2008, 3, 1),
                PurchasePrice   = 12343,
                RentalPrice     = 431,
                CreatedDateTime = DateTime.Now.AddDays(-1),
                Portfolio       = portfolio1,
                Tenants         = new List <Tenant> {
                    new Tenant {
                        FirstName = "FirstName1", LastName = "LastName1", EmailAddress = "*****@*****.**", IsActive = true, Profession = "Window cleaner", TenancyStartDate = DateTime.Now.AddDays(-1)
                    },
                    new Tenant {
                        FirstName = "FirstName2", LastName = "LastName2", EmailAddress = "*****@*****.**", IsActive = true, Profession = "Superstar DJ", TenancyStartDate = DateTime.Now.AddDays(-1)
                    }
                }
            };

            _propertyServiceMock.Setup(s => s.GetPropertyById(It.IsAny <Guid>(), It.IsAny <Guid>()))
            .Returns(Task.FromResult <Property>(property)).Verifiable();

            var controller = new PropertiesController(_propertyServiceMock.Object, _mapperMock);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = _principle
                }
            };

            var results = await controller.GetPropertyById(It.IsAny <Guid>(), It.IsAny <Guid>());

            var okResult = results.Result as OkObjectResult;
            var okVal    = okResult.Value as PropertyDetailDto;

            Assert.AreEqual((int)System.Net.HttpStatusCode.OK, okResult.StatusCode);
            Assert.AreEqual("Description", okVal.Description);
            Assert.AreEqual(2, okVal.Tenants.Count);
            Assert.AreEqual(2, okVal.NoOfBeds);
            Assert.AreEqual("Exeter", okVal.Address.City);
        }