public void Given_that_get_view_model_is_requested_Then_site_group_view_model_is_present()
        {
            //Given
            const long clientId = 100;
            const long siteId = 10;
            const long groupId = 5;

            _siteService
                .Setup(ss => ss.GetSiteStructureByCompanyId(clientId))
                .Returns(new SiteDto{ SiteId = siteId, ClientId = clientId, Name = "name 2" });

            _siteService.Setup(x => x.MainSiteExists(It.IsAny<long>())).Returns(true);
           
            var groupService = new Mock<ISiteGroupService>();
            groupService.Setup(ss => ss.GetByCompanyId(clientId)).Returns(new List<SiteGroupDto> { new SiteGroupDto{ Id = -1, Name = "" }});
            _clientService.Setup(x => x.GetCompanyDetails(clientId)).Returns(new CompanyDetailsDto((int)clientId, "Test Name",
                                                                                                   "TST001", "Add1",
                                                                                                   "Add2", "Add3",
                                                                                                   "Add4", 88, "M11AA",
                                                                                                   "09999999", null,
                                                                                                   null));

            var target = new SiteStructureViewModelFactory(_siteService.Object, groupService.Object, _clientService.Object);

            //When
            target.WithClientId(clientId).WithGroupDetailsViewModel(SiteGroupDetailsViewModelBuilder.Create().WithGroupId(groupId).WithName("name test").Build());

            //Then
            var viewModel = target.GetViewModel();
            Assert.That(viewModel.SiteSiteGroupsViewModel, Is.Not.Null);
            _siteService.VerifyAll();            
        }
 private SiteStructureViewModelFactory GetTarget()
 {
     var target = new SiteStructureViewModelFactory(_siteService.Object, _siteGroupService.Object, _clientService.Object);
     return target;
 }