public void ApoDepartmentServiceReturnErrorWhenUpdateDuplicateValueToSameDivsionAndType()
        {
            var service = new ApoDepartmentService(_apoDivisionRepository, _apoGroupRepository, _apoDepartmentRepository);

            var resource = new ApoDepartmentCreateOrEdit()
            {
                ApoDivisionId = 1,
                ApoGroupId    = 0,
                Name          = "Beverages"
            };

            var exception = Record.Exception(() => service.Edit(2, resource));

            Assert.NotNull(exception);
            Assert.IsType <ArgumentException>(exception);
            Assert.True(exception.Message.Contains($"Name {resource.Name} is Already exist."));
        }
        public void ApoDepartmentServiceReturnCorrectUpdateValueWhenUpdateDuplicateNameButNotSameTypeAndDivision()
        {
            var service = new ApoDepartmentService(_apoDivisionRepository, _apoGroupRepository, _apoDepartmentRepository);

            var updateApo = new ApoDepartmentCreateOrEdit()
            {
                ApoDivisionId = 1,
                ApoGroupId    = 1,
                Name          = "Beverages"
            };
            var divisionName = _apoDivision.Single(x => x.Id == 1).Name;
            var groupName    = _apoGroup.Single(x => x.Id == 1).Name;


            var sut = service.Edit(3, updateApo);


            Assert.Equal(sut.Name, "Beverages");
            Assert.Equal(sut.DivisionId, 1);
            Assert.Equal(sut.DivisionName, divisionName);
            Assert.Equal(sut.GroupId, 1);
            Assert.Equal(sut.GroupName, groupName);
            Assert.Equal(sut.Id, 3);
        }
        public void ApoDepartmentServiceReturnUpdatedValueWhenUpdateSuccess()
        {
            var service = new ApoDepartmentService(_apoDivisionRepository, _apoGroupRepository, _apoDepartmentRepository);

            var updateApo = new ApoDepartmentCreateOrEdit()
            {
                ApoDivisionId = 1,
                ApoGroupId    = 0,
                Name          = "Beverages -- new"
            };

            var divisionName = _apoDivision.Single(x => x.Id == 1).Name;
            var groupName    = _apoGroup.Single(x => x.Id == 0).Name;


            var sut = service.Edit(1, updateApo);

            Assert.Equal(sut.Name, "Beverages -- new");
            Assert.Equal(sut.DivisionId, 1);
            Assert.Equal(sut.DivisionName, divisionName);
            Assert.Equal(sut.GroupId, 0);
            Assert.Equal(sut.GroupName, groupName);
            Assert.Equal(sut.Id, 1);
        }