public void ServiceDeskDotMatrix_Generate_ReturnsChartAsListOfChartDataViewModel()
        {
            _diagramGenerator = new ServiceDeskDotMatrix(_serviceDeskService, _mockResolverService.Object);
            var result = _diagramGenerator.Generate(1);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(IEnumerable <ChartDataListItem>));
        }
        public void ServiceDeskDotMatrix_ReadServiceDeskDotMatrixChart_ServiceDeskExists_LastListStartsWithEmptyLayout()
        {
            _diagramGenerator = new ServiceDeskDotMatrix(_serviceDeskService, _mockResolverService.Object);
            var result = _diagramGenerator.Generate(1);
            var last   = result.Last();

            Assert.AreEqual(DecompositionTypeNames.EmptyForLayout, last.Type);
        }
        public void ServiceDeskDotMatrix_Generate_ReturnsChartWithComponentThreeTruncatedToOneHundredCharacters()
        {
            _diagramGenerator = new ServiceDeskDotMatrix(_serviceDeskService, _mockResolverService.Object);
            var result = _diagramGenerator.Generate(1);

            Assert.IsNotNull(result);
            Assert.AreEqual(100, result.First().TitleTwo.Length);
            Assert.IsInstanceOfType(result, typeof(IEnumerable <ChartDataListItem>));
        }
Beispiel #4
0
 public Service(
     IEfdiagramModelParser <DbContext> parser,
     IDbContextResolver resolver,
     IDiagramGenerator generator,
     IDirectory dir)
 {
     this.parser    = parser;
     this.resolver  = resolver;
     this.generator = generator;
     this.dir       = dir;
 }
Beispiel #5
0
        public void TestInitilize()
        {
            #region Desk Input Types

            _deskInputTypes = new List <DeskInputType>
            {
                new DeskInputType
                {
                    Id = 1,
                    InputTypeRefData =
                        new InputTypeRefData {
                        Id = 1, InputTypeNumber = 1, InputTypeName = "Incident", SortOrder = 5
                    }
                },
                new DeskInputType
                {
                    Id = 2,
                    InputTypeRefData =
                        new InputTypeRefData {
                        Id = 2, InputTypeNumber = 2, InputTypeName = "Event", SortOrder = 5
                    }
                },
                new DeskInputType
                {
                    Id = 3,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 3,
                        InputTypeNumber = 3,
                        InputTypeName   = "Authorized Request",
                        SortOrder       = 5
                    }
                },
                new DeskInputType
                {
                    Id = 4,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 4,
                        InputTypeNumber = 4,
                        InputTypeName   = "How do I.. Questions",
                        SortOrder       = 5
                    }
                },
                new DeskInputType
                {
                    Id = 5,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 5,
                        InputTypeNumber = 5,
                        InputTypeName   = "Authorized Standard Change",
                        SortOrder       = 5
                    }
                },
                new DeskInputType
                {
                    Id = 6,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 6,
                        InputTypeNumber = 6,
                        InputTypeName   = "Authorized Non-Standard Change",
                        SortOrder       = 5
                    }
                }
            };

            #endregion

            #region Service Domain Types

            _serviceDomainTypes = new List <DomainTypeRefData>
            {
                new DomainTypeRefData {
                    Id = 1, DomainName = "Service Desk", SortOrder = 5, Visible = true
                },
                new DomainTypeRefData {
                    Id = 2, DomainName = "Infrastructure as a Service", SortOrder = 5, Visible = true
                },
                new DomainTypeRefData {
                    Id = 3, DomainName = "Service Delivery Management", SortOrder = 5, Visible = true
                },
                new DomainTypeRefData {
                    Id = 4, DomainName = "Infrastructure Management", SortOrder = 5, Visible = true
                },
                new DomainTypeRefData {
                    Id = 5, DomainName = "End User Device Services", SortOrder = 5, Visible = true
                },
                new DomainTypeRefData {
                    Id = 6, DomainName = "Engineering Services", SortOrder = 5, Visible = true
                },
                new DomainTypeRefData {
                    Id = 7, DomainName = "Programme Management Office", SortOrder = 5, Visible = true
                },
                new DomainTypeRefData {
                    Id = 8, DomainName = "Consulting Services", SortOrder = 5, Visible = true
                },
                new DomainTypeRefData {
                    Id = 9, DomainName = "Bill of material components", SortOrder = 5, Visible = true
                }
            };

            #endregion

            #region Service Function Types

            _serviceFunctionTypes = new List <FunctionTypeRefData>
            {
                new FunctionTypeRefData {
                    Id = 1, FunctionName = "System Management Infrastructure", SortOrder = 5, Visible = true
                },
                new FunctionTypeRefData {
                    Id = 2, FunctionName = "Desktop Virtualisation", SortOrder = 5, Visible = true
                },
                new FunctionTypeRefData {
                    Id = 3, FunctionName = "Secure Remote Access", SortOrder = 5, Visible = true
                },
                new FunctionTypeRefData {
                    Id = 4, FunctionName = "Computing Management", SortOrder = 5, Visible = true
                },
                new FunctionTypeRefData {
                    Id = 5, FunctionName = "General Services", SortOrder = 5, Visible = true
                },
                new FunctionTypeRefData {
                    Id = 6, FunctionName = "Network Services Tower A", SortOrder = 5, Visible = true
                },
                new FunctionTypeRefData {
                    Id = 7, FunctionName = "Network Services Tower B", SortOrder = 5, Visible = true
                }
            };

            #endregion

            #region Service Delivery Organisation Types

            _serviceDeliveryOrganisationTypes = new List <ServiceDeliveryOrganisationTypeRefData>
            {
                new ServiceDeliveryOrganisationTypeRefData
                {
                    Id = 1,
                    ServiceDeliveryOrganisationTypeName = "Fujitsu",
                    SortOrder = 5
                },
                new ServiceDeliveryOrganisationTypeRefData
                {
                    Id = 2,
                    ServiceDeliveryOrganisationTypeName = "Customer",
                    SortOrder = 5
                },
                new ServiceDeliveryOrganisationTypeRefData
                {
                    Id = 3,
                    ServiceDeliveryOrganisationTypeName = "Customer Third Party",
                    SortOrder = 5
                },
            };

            #endregion

            #region Service Delivery Unit Types

            _serviceDeliveryUnitTypes = new List <ServiceDeliveryUnitTypeRefData>
            {
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 1,
                    ServiceDeliveryUnitTypeName = "Verizon",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 2,
                    ServiceDeliveryUnitTypeName = "HP",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 3,
                    ServiceDeliveryUnitTypeName = "Cisco",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 4,
                    ServiceDeliveryUnitTypeName = "SAP",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 5,
                    ServiceDeliveryUnitTypeName = "Business Apps",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 6,
                    ServiceDeliveryUnitTypeName = "Facilities",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 7,
                    ServiceDeliveryUnitTypeName = "Oracle",
                    SortOrder = 5
                },
            };

            #endregion

            #region Resolver Groups

            _resolverGroupTypes = new List <ResolverGroupTypeRefData>
            {
                new ResolverGroupTypeRefData {
                    Id = 1, ResolverGroupTypeName = "Wintel Team", SortOrder = 5
                },
                new ResolverGroupTypeRefData {
                    Id = 2, ResolverGroupTypeName = "Oracle Team", SortOrder = 10
                },
                new ResolverGroupTypeRefData {
                    Id = 3, ResolverGroupTypeName = "On-Site Support Dispatch", SortOrder = 15
                },
                new ResolverGroupTypeRefData {
                    Id = 4, ResolverGroupTypeName = "On-Site Support Permanent", SortOrder = 15
                },
                new ResolverGroupTypeRefData {
                    Id = 5, ResolverGroupTypeName = "Off-Site Support Dispatch", SortOrder = 15
                },
                new ResolverGroupTypeRefData {
                    Id = 6, ResolverGroupTypeName = "Off-Site Support Permanent", SortOrder = 15
                },
            };

            #endregion

            #region Service Desks

            _serviceDesks = new List <ServiceDesk>
            {
                new ServiceDesk
                {
                    Id         = 1,
                    DeskName   = "Service Desk A With Inputs",
                    CustomerId = 1,
                    Customer   = UnitTestHelper.GenerateRandomData <Customer>(c =>
                    {
                        c.Id           = 1;
                        c.CustomerName = "3663";
                    }),
                    DeskInputTypes = new List <DeskInputType>
                    {
                        _deskInputTypes.FirstOrDefault(x => x.Id == 1),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 2),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 3),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 4),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 5),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 6)
                    },
                    ServiceDomains = new List <ServiceDomain>()
                },
                new ServiceDesk
                {
                    Id         = 2,
                    DeskName   = "Service Desk B With Domains",
                    CustomerId = 2,
                    Customer   = UnitTestHelper.GenerateRandomData <Customer>(c =>
                    {
                        c.Id           = 2;
                        c.CustomerName = "Robeco";
                    }),
                    ServiceDomains = new List <ServiceDomain>
                    {
                        new ServiceDomain
                        {
                            Id = 1,
                            AlternativeName  = "Domain A",
                            DomainType       = _serviceDomainTypes.FirstOrDefault(x => x.Id == 1),
                            ServiceFunctions = new List <ServiceFunction>
                            {
                                new ServiceFunction
                                {
                                    Id = 1,
                                    AlternativeName = "Function A",
                                    FunctionType    = _serviceFunctionTypes.FirstOrDefault(x => x.Id == 1),
                                },
                                new ServiceFunction
                                {
                                    Id = 2,
                                    AlternativeName = "Function B",
                                    FunctionType    = _serviceFunctionTypes.FirstOrDefault(x => x.Id == 2)
                                }
                            }
                        },
                        new ServiceDomain
                        {
                            Id               = 2,
                            DomainType       = _serviceDomainTypes.FirstOrDefault(x => x.Id == 2),
                            ServiceFunctions = new List <ServiceFunction>
                            {
                                new ServiceFunction
                                {
                                    Id = 3,
                                    AlternativeName = "Function C",
                                    FunctionType    = _serviceFunctionTypes.FirstOrDefault(x => x.Id == 3),
                                },
                                new ServiceFunction
                                {
                                    Id = 2,
                                    AlternativeName = "Function D",
                                    FunctionType    = _serviceFunctionTypes.FirstOrDefault(x => x.Id == 4)
                                }
                            }
                        },
                        new ServiceDomain
                        {
                            Id         = 3,
                            DomainType = new DomainTypeRefData
                            {
                                Id         = 3,
                                DomainName = "Domain C",
                                SortOrder  = 5,
                                Visible    = true,
                            }
                        }
                    }
                }
            };

            #endregion

            #region Service Components

            _serviceComponents = new List <ServiceComponent>
            {
                new ServiceComponent
                {
                    Id                = 1,
                    ComponentLevel    = 1,
                    ComponentName     = "Component A",
                    ServiceActivities = "- Activity One\r\n- Activity Two",
                    ServiceFunction   = CreateServiceFunctionWithCustomer(2, "Robeco", 2),
                    Resolver          = new Resolver
                    {
                        Id = 1,
                        ServiceDeliveryOrganisationType =
                            _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 1),
                        ServiceDeliveryUnitType = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 1),
                        ResolverGroupType       = _resolverGroupTypes.FirstOrDefault(x => x.Id == 1),
                    }
                },
                new ServiceComponent
                {
                    Id              = 2,
                    ComponentLevel  = 1,
                    ComponentName   = "Component B",
                    ServiceFunction = CreateServiceFunctionWithCustomer(2, "Robeco", 2),
                }
            };

            _serviceComponents.Add(
                new ServiceComponent
            {
                Id                     = 3,
                ComponentLevel         = 2,
                ComponentName          = "Component C",
                ServiceActivities      = "- Activity Three",
                ServiceFunction        = CreateServiceFunctionWithCustomer(2, "Robeco", 2),
                ParentServiceComponent = _serviceComponents[1],
                Resolver               = new Resolver
                {
                    Id = 2,
                    ServiceDeliveryOrganisationType =
                        _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 1),
                    ServiceDeliveryUnitType = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 1),
                    ResolverGroupType       = _resolverGroupTypes.FirstOrDefault(x => x.Id == 1)
                }
            });

            _serviceComponents.Add(new ServiceComponent
            {
                Id                     = 4,
                ComponentLevel         = 2,
                ComponentName          = "Component D",
                ServiceFunction        = CreateServiceFunctionWithCustomer(2, "Robeco", 2),
                ParentServiceComponent = _serviceComponents[1],
                Resolver               = new Resolver
                {
                    Id = 3,
                    ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 1),
                    ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 2),
                    ResolverGroupType = _resolverGroupTypes.FirstOrDefault(x => x.Id == 3),
                }
            });

            _serviceComponents[1].ChildServiceComponents = new List <ServiceComponent>
            {
                _serviceComponents[2],
                _serviceComponents[3]
            };

            _serviceComponents.Add(new ServiceComponent
            {
                Id                = 5,
                ComponentLevel    = 1,
                ComponentName     = "Component E",
                ServiceActivities = "- Activity X\r\n- Activity Y",
                ServiceFunction   = CreateServiceFunctionWithCustomer(2, "Robeco", 2),
                Resolver          = new Resolver
                {
                    Id = 4,
                    ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 3),
                    ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 2),
                    ResolverGroupType = _resolverGroupTypes.FirstOrDefault(x => x.Id == 4)
                }
            });

            _serviceComponents.Add(new ServiceComponent
            {
                Id              = 6,
                ComponentLevel  = 1,
                ComponentName   = "Component E",
                ServiceFunction = CreateServiceFunctionWithCustomer(2, "Robeco", 2),
            });

            _serviceComponents.Add(new ServiceComponent
            {
                Id                     = 7,
                ComponentLevel         = 2,
                ComponentName          = "Component F",
                ServiceActivities      = "- Activity X",
                ServiceFunction        = CreateServiceFunctionWithCustomer(2, "Robeco", 2),
                ParentServiceComponent = _serviceComponents[5],
                Resolver               = new Resolver
                {
                    Id = 5,
                    ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 1),
                    ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 2),
                    ResolverGroupType = _resolverGroupTypes.FirstOrDefault(x => x.Id == 3),
                }
            });

            _serviceComponents.Add(new ServiceComponent
            {
                Id                     = 8,
                ComponentLevel         = 2,
                ComponentName          = "Component G",
                ServiceActivities      = "- Activity Z",
                ServiceFunction        = CreateServiceFunctionWithCustomer(2, "Robeco", 2),
                ParentServiceComponent = _serviceComponents[5],
                Resolver               = new Resolver
                {
                    Id = 6,
                    ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 2),
                    ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 2),
                    ResolverGroupType = _resolverGroupTypes.FirstOrDefault(x => x.Id == 4)
                }
            });

            _serviceComponents.Add(new ServiceComponent
            {
                Id                     = 9,
                ComponentLevel         = 2,
                ComponentName          = "Component H",
                ServiceActivities      = "- Activity A",
                ServiceFunction        = CreateServiceFunctionWithCustomer(2, "Robeco", 2),
                ParentServiceComponent = _serviceComponents[5],
                Resolver               = new Resolver
                {
                    Id = 7,
                    ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 1),
                    ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 2),
                    ResolverGroupType = _resolverGroupTypes.FirstOrDefault(x => x.Id == 3)
                }
            });

            _serviceComponents[5].ChildServiceComponents = new List <ServiceComponent>
            {
                _serviceComponents[6],
                _serviceComponents[7],
                _serviceComponents[8]
            };

            #endregion

            _resolvers = new List <Resolver>();

            _mockUnitOfWork = new Mock <IUnitOfWork>();

            _mockServiceDeskRepository      = MockRepositoryHelper.Create(_serviceDesks, (entity, id) => entity.Id == (int)id);
            _mockDeskInputTypeRepository    = MockRepositoryHelper.Create(_deskInputTypes, (entity, id) => entity.Id == (int)id);
            _mockResolverRepository         = MockRepositoryHelper.Create(_resolvers);
            _mockServiceComponentRepository = MockRepositoryHelper.Create(_serviceComponents, (entity, id) => entity.Id == (int)id);
            _mockUserIdentity = new Mock <IUserIdentity>();
            _mockUserIdentity.Setup(s => s.Name).Returns("*****@*****.**");

            _serviceDeskService      = new ServiceDeskService(_mockServiceDeskRepository.Object, _mockDeskInputTypeRepository.Object, _mockUnitOfWork.Object);
            _serviceComponentService = new ServiceComponentService(_mockServiceComponentRepository.Object, _mockResolverRepository.Object, _mockUnitOfWork.Object, _mockUserIdentity.Object);

            _diagramGenerator = new FujitsuServiceOrganisation(_serviceDeskService, _serviceComponentService);

            Bootstrapper.SetupAutoMapper();
        }
 public PumlGeneratorTest()
 {
     this._target = new PumlGenerator();
 }
Beispiel #7
0
        public void TestInitilize()
        {
            #region Desk Input Types

            _deskInputTypes = new List <DeskInputType>
            {
                new DeskInputType
                {
                    Id = 1,
                    InputTypeRefData =
                        new InputTypeRefData {
                        Id = 1, InputTypeNumber = 1, InputTypeName = "Incident", SortOrder = 5
                    },
                },
                new DeskInputType
                {
                    Id = 2,
                    InputTypeRefData =
                        new InputTypeRefData {
                        Id = 2, InputTypeNumber = 2, InputTypeName = "Event", SortOrder = 5
                    },
                },
                new DeskInputType
                {
                    Id = 3,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 3,
                        InputTypeNumber = 3,
                        InputTypeName   = "Authorized Request",
                        SortOrder       = 5
                    },
                },
                new DeskInputType
                {
                    Id = 4,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 4,
                        InputTypeNumber = 4,
                        InputTypeName   = "How do I.. Questions",
                        SortOrder       = 5
                    },
                },
                new DeskInputType
                {
                    Id = 5,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 5,
                        InputTypeNumber = 5,
                        InputTypeName   = "Authorized Standard Change",
                        SortOrder       = 5
                    },
                },
                new DeskInputType
                {
                    Id = 6,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 6,
                        InputTypeNumber = 6,
                        InputTypeName   = "Authorized Non-Standard Change",
                        SortOrder       = 5
                    },
                },
            };

            #endregion

            #region Service Desks

            _serviceDesks = new List <ServiceDesk>
            {
                new ServiceDesk
                {
                    Id             = 1,
                    DeskName       = "Service Desk A With Inputs",
                    DeskInputTypes = new List <DeskInputType>
                    {
                        _deskInputTypes.FirstOrDefault(x => x.Id == 1),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 2),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 3),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 4),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 5),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 6),
                    },
                    ServiceDomains = new List <ServiceDomain>(),
                    CustomerId     = 1,
                    Customer       = UnitTestHelper.GenerateRandomData <Customer>(x =>
                    {
                        x.Id = 1;
                    })
                },
                new ServiceDesk
                {
                    Id         = 2,
                    DeskName   = "Service Desk B With Domains",
                    CustomerId = 2,
                    Customer   = UnitTestHelper.GenerateRandomData <Customer>(x =>
                    {
                        x.Id = 2;
                    }),
                    ServiceDomains = new List <ServiceDomain>
                    {
                        new ServiceDomain
                        {
                            Id = 1,
                            AlternativeName = "Domain A",
                            DomainType      = new DomainTypeRefData
                            {
                                Id         = 1,
                                DomainName = "A Domain",
                                SortOrder  = 5,
                                Visible    = true
                            },
                            DiagramOrder     = 20,
                            ServiceFunctions = new List <ServiceFunction>
                            {
                                new ServiceFunction
                                {
                                    Id = 1,
                                    AlternativeName = "Function A",
                                    FunctionType    = new FunctionTypeRefData
                                    {
                                        Id           = 1,
                                        FunctionName = "A Function",
                                        SortOrder    = 5,
                                        Visible      = true,
                                    },
                                    ServiceComponents = new List <ServiceComponent>
                                    {
                                        new ServiceComponent
                                        {
                                            Id                = 1,
                                            ComponentLevel    = 1,
                                            ComponentName     = "Component A",
                                            ServiceActivities = "Email\r\nPhone",
                                            Resolver          = new Resolver
                                            {
                                                Id = 1,
                                                ResolverGroupType = UnitTestHelper.GenerateRandomData <ResolverGroupTypeRefData>()
                                            }
                                        }
                                    }
                                },
                                new ServiceFunction
                                {
                                    Id = 2,
                                    AlternativeName = "Function B",
                                    FunctionType    = new FunctionTypeRefData
                                    {
                                        Id           = 2,
                                        FunctionName = "B Function",
                                        SortOrder    = 5,
                                        Visible      = true,
                                    }
                                }
                            },
                        },
                        new ServiceDomain
                        {
                            Id         = 2,
                            DomainType = new DomainTypeRefData
                            {
                                Id         = 2,
                                DomainName = "Domain B",
                                SortOrder  = 5,
                                Visible    = true,
                            },
                            DiagramOrder = 15
                        },
                        new ServiceDomain
                        {
                            Id         = 3,
                            DomainType = new DomainTypeRefData
                            {
                                Id         = 3,
                                DomainName = "Domain C",
                                SortOrder  = 5,
                                Visible    = true,
                            },
                            DiagramOrder = 10
                        }
                    }
                },
                new ServiceDesk
                {
                    Id         = 3,
                    DeskName   = "Service Desk C With No Domains",
                    CustomerId = 2,
                    Customer   = UnitTestHelper.GenerateRandomData <Customer>(x =>
                    {
                        x.Id = 2;
                    }),
                    ServiceDomains = new List <ServiceDomain>()
                },
            };

            #endregion

            _mockUnitOfWork = new Mock <IUnitOfWork>();

            _mockServiceDeskRepository   = MockRepositoryHelper.Create(_serviceDesks, (entity, id) => entity.Id == (int)id);
            _mockDeskInputTypeRepository = MockRepositoryHelper.Create(_deskInputTypes, (entity, id) => entity.Id == (int)id);

            _serviceDeskService = new ServiceDeskService(_mockServiceDeskRepository.Object, _mockDeskInputTypeRepository.Object, _mockUnitOfWork.Object);
            _diagramGenerator   = new FujitsuDomains(_serviceDeskService);
            Bootstrapper.SetupAutoMapper();
        }
        public void TestInitilize()
        {
            _deskInputTypes = new List <DeskInputType>
            {
                new DeskInputType
                {
                    Id = 1,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 1,
                        InputTypeNumber = 1,
                        InputTypeName   = "Incident",
                        SortOrder       = 5
                    },
                    ServiceDeskId = 1
                }
            };

            _resolverGroups = new List <Resolver>();

            _operationalProcessTypeRefDataItems = new List <OperationalProcessTypeRefData>
            {
                new OperationalProcessTypeRefData
                {
                    Id = 1,
                    OperationalProcessTypeName = "An Operational Process Type",
                    SortOrder = 5,
                    Visible   = true
                }
            };
            _operationalProcessTypes = new List <OperationalProcessType>
            {
                new OperationalProcessType
                {
                    Id = 1,
                    OperationalProcessTypeRefData = _operationalProcessTypeRefDataItems.First(x => x.Id == 1)
                }
            };



            #region Service Desks

            _serviceDesks = new List <ServiceDesk>
            {
                new ServiceDesk
                {
                    Id             = 1,
                    DeskName       = "Service Desk A With Inputs",
                    DeskInputTypes = new List <DeskInputType>
                    {
                        new DeskInputType
                        {
                            Id = 1,
                            InputTypeRefData =
                                new InputTypeRefData
                            {
                                Id = 1,
                                InputTypeNumber = 1,
                                InputTypeName   = "Incident",
                                SortOrder       = 5
                            }
                        }
                    },
                    ServiceDomains = new List <ServiceDomain>(),
                    CustomerId     = 1
                },
                new ServiceDesk
                {
                    Id             = 2,
                    DeskName       = "Service Desk B With Inputs",
                    DeskInputTypes = new List <DeskInputType>
                    {
                        new DeskInputType
                        {
                            Id = 1,
                            InputTypeRefData =
                                new InputTypeRefData
                            {
                                Id = 1,
                                InputTypeNumber = 1,
                                InputTypeName   = "Incident",
                                SortOrder       = 5
                            }
                        }
                    },
                    ServiceDomains = new List <ServiceDomain>(),
                    CustomerId     = 2
                },
            };

            #endregion

            #region Dot Matrix List Item

            _dotMatrixListItems = new List <List <DotMatrixListItem> >
            {
                new List <DotMatrixListItem>
                {
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = DotMatrixNames.ResolverName;
                        x.Value = ResolverGroup1;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = DotMatrixNames.ComponentName;
                        x.Value = ComponentName1;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = string.Concat(DotMatrixNames.OpIdPrefix, 1);
                        x.Value = true;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = string.Concat(DotMatrixNames.OpIdPrefix, 2);
                        x.Value = false;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = string.Concat(DotMatrixNames.OpIdPrefix, 3);
                        x.Value = true;
                    })
                },
                new List <DotMatrixListItem>
                {
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = DotMatrixNames.ResolverName;
                        x.Value = ResolverGroup2;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = DotMatrixNames.ComponentName;
                        x.Value = ComponentName2;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = string.Concat(DotMatrixNames.OpIdPrefix, 1);
                        x.Value = false;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = string.Concat(DotMatrixNames.OpIdPrefix, 2);
                        x.Value = true;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = string.Concat(DotMatrixNames.OpIdPrefix, 3);
                        x.Value = false;
                    })
                },
                new List <DotMatrixListItem>
                {
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = DotMatrixNames.ResolverName;
                        x.Value = ResolverGroup3;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = DotMatrixNames.ComponentName;
                        x.Value = ComponentName3;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = string.Concat(DotMatrixNames.OpIdPrefix, 1);
                        x.Value = false;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = string.Concat(DotMatrixNames.OpIdPrefix, 2);
                        x.Value = false;
                    }),
                    UnitTestHelper.GenerateRandomData <DotMatrixListItem>(x =>
                    {
                        x.Name  = string.Concat(DotMatrixNames.OpIdPrefix, 3);
                        x.Value = false;
                    })
                }
            };

            #endregion

            _mockUnitOfWork = new Mock <IUnitOfWork>();

            _mockServiceDeskRepository   = MockRepositoryHelper.Create(_serviceDesks, (entity, id) => entity.Id == (int)id);
            _mockDeskInputTypeRepository = MockRepositoryHelper.Create(_deskInputTypes, (entity, id) => entity.Id == (int)id);
            _mockResolverGroupRepository = MockRepositoryHelper.Create(_resolverGroups, (entity, id) => entity.Id == (int)id);

            _mockOperationalProcessTypeRepository        = MockRepositoryHelper.Create(_operationalProcessTypes, (entity, id) => entity.Id == (int)id);
            _mockOperationalProcessTypeRefDataRepository = MockRepositoryHelper.Create(_operationalProcessTypeRefDataItems, (entity, id) => entity.Id == (int)id);

            _mockServiceComponentRepository = new Mock <IRepository <ServiceComponent> >();

            _mockUserIdentity = new Mock <IUserIdentity>();
            _mockUserIdentity.Setup(s => s.Name).Returns("*****@*****.**");

            _resolverService = new ResolverService(_mockResolverGroupRepository.Object,
                                                   _mockOperationalProcessTypeRepository.Object,
                                                   _mockOperationalProcessTypeRefDataRepository.Object,
                                                   _mockServiceComponentRepository.Object,
                                                   _mockServiceDeskRepository.Object,
                                                   _mockUserIdentity.Object,
                                                   _mockUnitOfWork.Object);

            _mockResolverService = new Mock <IResolverService>();
            _mockResolverService.Setup(s => s.GetDotMatrix(CustomerId, true, ServiceDeskId))
            .Returns(_dotMatrixListItems);

            _serviceDeskService = new ServiceDeskService(_mockServiceDeskRepository.Object,
                                                         _mockDeskInputTypeRepository.Object,
                                                         _mockUnitOfWork.Object);
            _diagramGenerator = new ServiceDeskDotMatrix(_serviceDeskService, _resolverService);
            Bootstrapper.SetupAutoMapper();
        }
 public void ServiceDeskDotMatrix_Generate_CallsResolverServiceGetDotMatrix()
 {
     _diagramGenerator = new ServiceDeskDotMatrix(_serviceDeskService, _mockResolverService.Object);
     _diagramGenerator.Generate(1);
     _mockResolverService.Verify(x => x.GetDotMatrix(1, true, 1), Times.Once);
 }
 public void ServiceDeskDotMatrix_Generate_CallsServiceDeskRepositoryGetById()
 {
     _diagramGenerator = new ServiceDeskDotMatrix(_serviceDeskService, _mockResolverService.Object);
     _diagramGenerator.Generate(1);
     _mockServiceDeskRepository.Verify(x => x.GetById(It.IsAny <int>()), Times.Once);
 }
 public void ServiceDeskDotMatrix_Generate_NoChartData_ThrowsApplicationException()
 {
     _diagramGenerator = new ServiceDeskDotMatrix(_serviceDeskService, _mockResolverService.Object);
     _diagramGenerator.Generate(2);
 }
        public void TestInitilize()
        {
            _deskInputTypes = new List <DeskInputType>
            {
                new DeskInputType
                {
                    Id = 1,
                    InputTypeRefData =
                        new InputTypeRefData {
                        Id = 1, InputTypeNumber = 1, InputTypeName = "Incident", SortOrder = 5
                    }
                },
                new DeskInputType
                {
                    Id = 2,
                    InputTypeRefData =
                        new InputTypeRefData {
                        Id = 2, InputTypeNumber = 2, InputTypeName = "Event", SortOrder = 5
                    }
                },
                new DeskInputType
                {
                    Id = 3,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 3,
                        InputTypeNumber = 3,
                        InputTypeName   = "Authorized Request",
                        SortOrder       = 5
                    }
                },
                new DeskInputType
                {
                    Id = 4,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 4,
                        InputTypeNumber = 4,
                        InputTypeName   = "How do I.. Questions",
                        SortOrder       = 5
                    }
                },
                new DeskInputType
                {
                    Id = 5,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 5,
                        InputTypeNumber = 5,
                        InputTypeName   = "Authorized Standard Change",
                        SortOrder       = 5
                    }
                },
                new DeskInputType
                {
                    Id = 6,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 6,
                        InputTypeNumber = 6,
                        InputTypeName   = "Authorized Non-Standard Change",
                        SortOrder       = 5
                    }
                }
            };

            #region Service Desks

            _serviceDesks = new List <ServiceDesk>
            {
                new ServiceDesk
                {
                    Id         = 1,
                    DeskName   = "Service Desk A With Inputs",
                    CustomerId = 1,
                    Customer   = UnitTestHelper.GenerateRandomData <Customer>(x =>
                    {
                        x.Id = 1;
                    }),
                    DeskInputTypes = new List <DeskInputType>
                    {
                        _deskInputTypes.FirstOrDefault(x => x.Id == 1),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 2),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 3),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 4),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 5),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 6)
                    },
                    ServiceDomains = new List <ServiceDomain>()
                },
                new ServiceDesk
                {
                    Id         = 2,
                    DeskName   = "Service Desk B With Domains",
                    CustomerId = 2,
                    Customer   = UnitTestHelper.GenerateRandomData <Customer>(x =>
                    {
                        x.Id = 2;
                    }),
                    DeskInputTypes = new List <DeskInputType>
                    {
                        _deskInputTypes.FirstOrDefault(x => x.Id == 1),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 2),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 3),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 4)
                    },
                    ServiceDomains = new List <ServiceDomain>
                    {
                        new ServiceDomain
                        {
                            Id = 1,
                            AlternativeName = "Domain A",
                            DiagramOrder    = 30,
                            DomainType      = new DomainTypeRefData
                            {
                                Id         = 1,
                                DomainName = "A Domain",
                                SortOrder  = 5,
                                Visible    = true,
                            },
                            ServiceFunctions = new List <ServiceFunction>
                            {
                                new ServiceFunction
                                {
                                    Id = 1,
                                    AlternativeName = "Function A",
                                    FunctionType    = new FunctionTypeRefData
                                    {
                                        Id           = 1,
                                        FunctionName = "A Function",
                                        SortOrder    = 5,
                                        Visible      = true,
                                    },
                                    DiagramOrder      = 20,
                                    ServiceComponents = new List <ServiceComponent>
                                    {
                                        new ServiceComponent
                                        {
                                            Id                = 1,
                                            ComponentLevel    = 1,
                                            ComponentName     = "Component A",
                                            ServiceActivities = "Email\r\nPhone",
                                            DiagramOrder      = 20,
                                            Resolver          = new Resolver
                                            {
                                                Id = 1,
                                                ServiceDeliveryOrganisationType = UnitTestHelper.GenerateRandomData <ServiceDeliveryOrganisationTypeRefData>(),
                                                ServiceDeliveryUnitType         = UnitTestHelper.GenerateRandomData <ServiceDeliveryUnitTypeRefData>(),
                                                ResolverGroupType = UnitTestHelper.GenerateRandomData <ResolverGroupTypeRefData>()
                                            }
                                        },
                                        new ServiceComponent
                                        {
                                            Id                = 2,
                                            ComponentLevel    = 1,
                                            ComponentName     = "Component B",
                                            ServiceActivities = "Fax",
                                            DiagramOrder      = 10,
                                            Resolver          = new Resolver
                                            {
                                                Id = 2,
                                                ServiceDeliveryOrganisationType = UnitTestHelper.GenerateRandomData <ServiceDeliveryOrganisationTypeRefData>(),
                                                ServiceDeliveryUnitType         = UnitTestHelper.GenerateRandomData <ServiceDeliveryUnitTypeRefData>(),
                                                ResolverGroupType = UnitTestHelper.GenerateRandomData <ResolverGroupTypeRefData>()
                                            }
                                        },
                                        new ServiceComponent
                                        {
                                            Id                = 3,
                                            ComponentLevel    = 1,
                                            ComponentName     = "Component C",
                                            ServiceActivities = "Text",
                                            DiagramOrder      = 1,
                                            Resolver          = new Resolver
                                            {
                                                Id = 3,
                                                ServiceDeliveryOrganisationType = UnitTestHelper.GenerateRandomData <ServiceDeliveryOrganisationTypeRefData>(),
                                                ServiceDeliveryUnitType         = UnitTestHelper.GenerateRandomData <ServiceDeliveryUnitTypeRefData>(),
                                                ResolverGroupType = UnitTestHelper.GenerateRandomData <ResolverGroupTypeRefData>()
                                            }
                                        },
                                    }
                                },
                                new ServiceFunction
                                {
                                    Id = 2,
                                    AlternativeName = "Function B",
                                    FunctionType    = new FunctionTypeRefData
                                    {
                                        Id           = 2,
                                        FunctionName = "B Function",
                                        SortOrder    = 5,
                                        Visible      = true
                                    },
                                    DiagramOrder = 10
                                }
                            },
                        },
                        new ServiceDomain
                        {
                            Id           = 2,
                            DiagramOrder = 20,
                            DomainType   = new DomainTypeRefData
                            {
                                Id         = 2,
                                DomainName = "Domain B",
                                SortOrder  = 5,
                                Visible    = true
                            }
                        },
                        new ServiceDomain
                        {
                            Id           = 3,
                            DiagramOrder = 10,
                            DomainType   = new DomainTypeRefData
                            {
                                Id         = 3,
                                DomainName = "Domain C",
                                SortOrder  = 5,
                                Visible    = true
                            }
                        }
                    }
                }
            };

            #endregion

            _resolvers = new List <Resolver>();
            _operationalProcessTypes            = new List <OperationalProcessType>();
            _operationalProcessTypeRefDataItems = new List <OperationalProcessTypeRefData>();

            _mockUnitOfWork = new Mock <IUnitOfWork>();

            _mockServiceDeskRepository                   = MockRepositoryHelper.Create(_serviceDesks, (entity, id) => entity.Id == (int)id);
            _mockDeskInputTypeRepository                 = MockRepositoryHelper.Create(_deskInputTypes, (entity, id) => entity.Id == (int)id);
            _mockResolverRepository                      = MockRepositoryHelper.Create(_resolvers);
            _mockOperationalProcessTypeRepository        = MockRepositoryHelper.Create(_operationalProcessTypes, (entity, id) => entity.Id == (int)id);
            _mockOperationalProcessTypeRefDataRepository = MockRepositoryHelper.Create(_operationalProcessTypeRefDataItems, (entity, id) => entity.Id == (int)id);
            _mockServiceComponentRepository              = new Mock <IRepository <ServiceComponent> >();
            _mockUserIdentity = new Mock <IUserIdentity>();
            _mockUserIdentity.Setup(s => s.Name).Returns("*****@*****.**");

            _serviceDeskService = new ServiceDeskService(_mockServiceDeskRepository.Object,
                                                         _mockDeskInputTypeRepository.Object,
                                                         _mockUnitOfWork.Object);

            _resolverService = new ResolverService(_mockResolverRepository.Object,
                                                   _mockOperationalProcessTypeRepository.Object,
                                                   _mockOperationalProcessTypeRefDataRepository.Object,
                                                   _mockServiceComponentRepository.Object,
                                                   _mockServiceDeskRepository.Object,
                                                   _mockUserIdentity.Object,
                                                   _mockUnitOfWork.Object);

            _diagramGenerator = new ServiceDeskStructure(_serviceDeskService, _resolverService);
            Bootstrapper.SetupAutoMapper();
        }
Beispiel #13
0
        public void TestInitilize()
        {
            #region Desk Input Types

            _deskInputTypes = new List <DeskInputType>
            {
                new DeskInputType
                {
                    Id = 1,
                    InputTypeRefData =
                        new InputTypeRefData {
                        Id = 1, InputTypeNumber = 1, InputTypeName = "Incident", SortOrder = 5
                    },
                },
                new DeskInputType
                {
                    Id = 2,
                    InputTypeRefData =
                        new InputTypeRefData {
                        Id = 2, InputTypeNumber = 2, InputTypeName = "Event", SortOrder = 5
                    },
                },
                new DeskInputType
                {
                    Id = 3,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 3,
                        InputTypeNumber = 3,
                        InputTypeName   = "Authorized Request",
                        SortOrder       = 5
                    },
                },
                new DeskInputType
                {
                    Id = 4,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 4,
                        InputTypeNumber = 4,
                        InputTypeName   = "How do I.. Questions",
                        SortOrder       = 5
                    },
                },
                new DeskInputType
                {
                    Id = 5,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 5,
                        InputTypeNumber = 5,
                        InputTypeName   = "Authorized Standard Change",
                        SortOrder       = 5
                    },
                },
                new DeskInputType
                {
                    Id = 6,
                    InputTypeRefData =
                        new InputTypeRefData
                    {
                        Id = 6,
                        InputTypeNumber = 6,
                        InputTypeName   = "Authorized Non-Standard Change",
                        SortOrder       = 5
                    },
                },
            };

            #endregion

            #region Service Delivery Organisation Types

            _serviceDeliveryOrganisationTypes = new List <ServiceDeliveryOrganisationTypeRefData>
            {
                new ServiceDeliveryOrganisationTypeRefData
                {
                    Id = 1,
                    ServiceDeliveryOrganisationTypeName = "Fujitsu",
                    SortOrder = 5
                },
                new ServiceDeliveryOrganisationTypeRefData
                {
                    Id = 2,
                    ServiceDeliveryOrganisationTypeName = "Customer",
                    SortOrder = 5
                },
                new ServiceDeliveryOrganisationTypeRefData
                {
                    Id = 3,
                    ServiceDeliveryOrganisationTypeName = "Customer Third Party",
                    SortOrder = 5
                },
            };

            #endregion

            #region Service Delivery Unit Types

            _serviceDeliveryUnitTypes = new List <ServiceDeliveryUnitTypeRefData>
            {
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 1,
                    ServiceDeliveryUnitTypeName = "Verizon",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 2,
                    ServiceDeliveryUnitTypeName = "HP",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 3,
                    ServiceDeliveryUnitTypeName = "Cisco",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 4,
                    ServiceDeliveryUnitTypeName = "SAP",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 5,
                    ServiceDeliveryUnitTypeName = "Business Apps",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 6,
                    ServiceDeliveryUnitTypeName = "Facilities",
                    SortOrder = 5
                },
                new ServiceDeliveryUnitTypeRefData
                {
                    Id = 7,
                    ServiceDeliveryUnitTypeName = "Oracle",
                    SortOrder = 5
                },
            };

            #endregion

            #region Service Desks

            _serviceDesks = new List <ServiceDesk>
            {
                new ServiceDesk
                {
                    Id             = 1,
                    DeskName       = "Service Desk A With Inputs",
                    DeskInputTypes = new List <DeskInputType>
                    {
                        _deskInputTypes.FirstOrDefault(x => x.Id == 1),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 2),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 3),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 4),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 5),
                        _deskInputTypes.FirstOrDefault(x => x.Id == 6)
                    },
                    ServiceDomains = new List <ServiceDomain>(),
                    Resolvers      = new List <Resolver>
                    {
                        new Resolver
                        {
                            ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 2),
                            ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 1),
                        },
                        new Resolver
                        {
                            ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 2),
                            ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 2),
                        },
                        new Resolver
                        {
                            ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 2),
                            ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 3),
                        },
                        new Resolver
                        {
                            ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 3),
                            ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 4),
                        },
                        new Resolver
                        {
                            ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 3),
                            ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 5),
                        },
                        new Resolver
                        {
                            ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 3),
                            ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 6),
                        },
                        new Resolver
                        {
                            ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 3),
                            ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 7),
                        },
                        new Resolver
                        {
                            ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 2),
                        },
                        new Resolver
                        {
                            ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 3),
                        },
                    },
                    CustomerId = 1,
                    Customer   = new Customer
                    {
                        Id           = 1,
                        CustomerName = "3663"
                    }
                },
                new ServiceDesk
                {
                    Id             = 2,
                    DeskName       = "Service Desk B With Domains",
                    ServiceDomains = new List <ServiceDomain>(),
                    Resolvers      = new List <Resolver>(),
                    CustomerId     = 2,
                    Customer       = new Customer
                    {
                        Id           = 2,
                        CustomerName = "Customer Two"
                    }
                },
                new ServiceDesk
                {
                    Id             = 3,
                    DeskName       = "Service Desk C With No Domains",
                    ServiceDomains = new List <ServiceDomain>(),
                    Resolvers      = new List <Resolver>
                    {
                        new Resolver
                        {
                            ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 2),
                            ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 2),
                            ServiceDeliveryUnitNotes        = "- Storage"
                        },
                        new Resolver
                        {
                            ServiceDeliveryOrganisationType = _serviceDeliveryOrganisationTypes.FirstOrDefault(x => x.Id == 2),
                            ServiceDeliveryUnitType         = _serviceDeliveryUnitTypes.FirstOrDefault(x => x.Id == 2),
                            ServiceDeliveryUnitNotes        = "- Back-up"
                        }
                    },
                    CustomerId = 2,
                    Customer   = new Customer
                    {
                        Id           = 2,
                        CustomerName = "Customer Two"
                    }
                }
            };

            #endregion

            _mockUnitOfWork = new Mock <IUnitOfWork>();

            _mockDeskInputTypeRepository = MockRepositoryHelper.Create(_deskInputTypes, (entity, id) => entity.Id == (int)id);
            _mockServiceDeskRepository   = MockRepositoryHelper.Create(_serviceDesks, (entity, id) => entity.Id == (int)id);

            _serviceDeskService = new ServiceDeskService(_mockServiceDeskRepository.Object,
                                                         _mockDeskInputTypeRepository.Object,
                                                         _mockUnitOfWork.Object);

            _diagramGenerator = new CustomerServices(_serviceDeskService);

            Bootstrapper.SetupAutoMapper();
        }