コード例 #1
0
        public async Task update_should_modify_existing_class()
        {
            var client = _factory.CreateClient();

            var request = new EditClassRequest()
            {
                Id        = 1,
                Name      = "edited class",
                TeacherId = 2
            };

            var httpsContent = new StringContent(JsonConvert.SerializeObject(request),
                                                 Encoding.UTF8, "application/json");
            var response = await client.PutAsync("/api/classes", httpsContent);

            response.ShouldNotBeNull();
            response.EnsureSuccessStatusCode();

            var responseContent = await response.Content.ReadAsStringAsync();

            var responseEntity = JsonConvert.DeserializeObject <Class>(responseContent);

            responseEntity.Name.ShouldBe(request.Name);
            responseEntity.Id.ShouldBe(request.Id);
            //  responseEntity.TeacherId.ShouldBe(request.TeacherId);
        }
コード例 #2
0
        public Class Map(EditClassRequest request)
        {
            if (request == null)
            {
                return(null);
            }

            var _class = new Class
            {
                Id        = request.Id,
                Name      = request.Name,
                TeacherId = request.TeacherId,
            };

            return(_class);
        }
コード例 #3
0
        public async Task <ClassResponse> EditClassAsync(EditClassRequest request)
        {
            var existingRecord = _classRepository.ReadOnlyGetByIdAsync(request.Id);

            if (existingRecord == null)
            {
                throw new ArgumentException($"Class with {request.Id} does not exist in the database");
            }

            var editedClass = _classMapper.Map(request);

            _classRepository.Update(editedClass);

            await _classRepository.UnitOfWork.SaveChangesAsync();

            return(_classMapper.Map(await _classRepository.ReadOnlyGetByIdAsync(request.Id)));
        }
コード例 #4
0
        public async Task editClass_should_correctly_edit_entity()
        {
            var _class = new EditClassRequest()
            {
                Id        = 2,
                Name      = "A3",
                TeacherId = 1,
            };

            var editedClass =
                await _sut.EditClassAsync(_class);

            editedClass.ShouldNotBeNull();
            editedClass.Id.ShouldBe(_class.Id);
            editedClass.Name.ShouldBe(_class.Name);
            editedClass.TaughtBy.ShouldNotBeNull();
            //editedClass.TaughtBy.Id.ShouldBe(_class.TeacherId);
        }
コード例 #5
0
        public async Task <IActionResult> Put(EditClassRequest classRequest)
        {
            var result = await _classService.EditClassAsync(classRequest);

            return(Ok(result));
        }