Exemplo n.º 1
0
        public void AssignStandardBundleToEmployeeUsingMoq_EmployeeId_ReturnsCorrectEmployee()
        {
            var employeeId = Guid.NewGuid();

            var testItem = new EquipmentItem {
                Name = "Test"
            };

            var testBundle = new EquipmentBundle();

            testBundle.Add(testItem);

            var bundleFactoryMock = new Mock <IEquipmentBundleFactory>();

            bundleFactoryMock.Setup(x => x.CreateStandardBundle()).Returns(testBundle);

            var testEmployee = new Employee {
                EmployeeId = employeeId, Bundle = testBundle
            };

            var employeeServiceMock = new Mock <IEmployeeService>();

            employeeServiceMock.Setup(x => x.Connect(It.IsAny <Guid>(), It.IsAny <EquipmentBundle>())).Returns(testEmployee);

            var auditServiceMock = new Mock <IAuditService>();

            var service = new EquipmentService(bundleFactoryMock.Object, employeeServiceMock.Object, auditServiceMock.Object);

            var result = service.AssignStandardBundleToEmployee(employeeId);

            Assert.Equal(employeeId, result.EmployeeId);
            Assert.Single(result.Bundle.Items);
            auditServiceMock.Verify(v => v.WriteEmployeeInfo(It.Is <Employee>(e => e == testEmployee)));
        }