예제 #1
0
        public void UpdateShouldReturnCorrectValueWhenUpdateDuplicateValueButSameId()
        {
            var service = new ApoClassService(_apoClassRepository, _apoDepartmentRepository);

            var resource = new ApoClassForCreateOrEdit()
            {
                Name            = "Miscellaneous",
                ApoDepartmentId = 1
            };

            var compareObj = new ApoClassDto()
            {
                Name           = resource.Name,
                DepartmentId   = resource.ApoDepartmentId,
                Id             = 91,
                IsActive       = 1,
                Code           = _apoClass.Single(x => x.Id == 91).Code,
                DepartmentName = _apoDepartment.Single(x => x.Id == resource.ApoDepartmentId).Name
            };


            var sut = service.Edit(91, resource);

            Assert.IsType <ApoClassDto>(sut);
            AssertObjects.PropertyValuesAreEquals(sut, compareObj);
        }
예제 #2
0
        public void ApoDepartmentServiceShouldReturnNullWhenNameNotMatched()
        {
            var service = new ApoClassService(_apoClassRepository, _apoDepartmentRepository);

            var resource = new ApoClassForCreateOrEdit()
            {
                Name = "Miscellaneousssss"
            };

            var sut = service.GetByName(resource);


            Assert.Null(sut);
        }
예제 #3
0
        public void UpdateShouldThrowErrorWhenUpdateDuplicateValueToCollection()
        {
            var service = new ApoClassService(_apoClassRepository, _apoDepartmentRepository);

            var resource = new ApoClassForCreateOrEdit()
            {
                Name            = "Miscellaneous",
                ApoDepartmentId = 1
            };

            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."));
        }
예제 #4
0
        public HttpResponseMessage Update(int id, [FromBody] ApoClassForCreateOrEdit apoClassForCreateOrEdit)
        {
            try
            {
                var updateApo = _apoClassService.Edit(id, apoClassForCreateOrEdit);

                if (updateApo != null)
                {
                    return(Request.CreateResponse(HttpStatusCode.OK, updateApo));
                }

                return(Request.CreateResponse(HttpStatusCode.InternalServerError));
            }
            catch (ArgumentException e)
            {
                HttpError err = new HttpError(e.Message);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, err));
            }
        }
예제 #5
0
        public void ApoDepartmentShouldReturnCorrectValueWhenSearchMatched()
        {
            var service = new ApoClassService(_apoClassRepository, _apoDepartmentRepository);

            var resource = new ApoClassForCreateOrEdit()
            {
                Name = "Miscellaneous"
            };

            var selectedApo = _apoClass.Single(x => x.Name.Equals("Miscellaneous"));
            var deptName    = _apoDepartment.Single(x => x.Id == selectedApo.ApoDepartmentId).Name;

            var sut = service.GetByName(resource);


            Assert.Equal(sut.Name, "Miscellaneous");
            Assert.Equal(sut.DepartmentId, selectedApo.ApoDepartmentId);
            Assert.Equal(sut.DepartmentName, deptName);
            Assert.Equal(sut.Id, selectedApo.Id);
        }
예제 #6
0
        public void ApoClassReturnNewObjectWhenCreateSuccess()
        {
            var service = new ApoClassService(_apoClassRepository, _apoDepartmentRepository);

            var resource = new ApoClassForCreateOrEdit()
            {
                Name            = "Miscellaneous -- test",
                ApoDepartmentId = 1
            };

            var deptName = _apoDepartment.Single(x => x.Id == 1).Name;

            var lastId = _apoClass.OrderByDescending(x => x.Id).First();


            var sut = service.Create(resource);

            Assert.IsType <ApoClassDto>(sut);
            Assert.Equal(sut.Id, lastId.Id + 1);
            Assert.Equal(sut.Name, resource.Name);
            Assert.Equal(sut.DepartmentId, 1);
            Assert.Equal(sut.DepartmentName, deptName);
        }