public void AddSubject_ValidObject_ReturnsCreatedSubject()
        {
            // arrange
            FakeSubjectOrderRepository fake = new FakeSubjectOrderRepository();
            SubjectsController         sc   = new SubjectsController(fake);

            SubjectForCreationDto subject = new SubjectForCreationDto
            {
                FirstName   = "Zita",
                LastName    = "Garsden Kabok",
                DateOfBirth = new DateTime(1980, 05, 03),
                TitleId     = 2
            };

            // act
            CreatedAtRouteResult result = sc.CreateSubject(subject) as CreatedAtRouteResult;

            // assert
            Assert.IsInstanceOf <SubjectDto>(result.Value);
            Assert.AreEqual("GetSubject", result.RouteName);

            SubjectDto subjectReturned = result.Value as SubjectDto;

            Assert.AreEqual(6, subjectReturned.subjectId);
            Assert.AreEqual("Zita", subjectReturned.firstName);
            Assert.AreEqual("Garsden Kabok", subjectReturned.lastName);
            Assert.AreEqual("03/05/1980", subject.DateOfBirth.ToString("d"));
            Assert.AreEqual(2, subjectReturned.titleId);
        }
        public void AddSubject_ValidObject_ReturnsCreateAtRouteResult()
        {
            // arrange
            FakeSubjectOrderRepository fake = new FakeSubjectOrderRepository();
            SubjectsController         sc   = new SubjectsController(fake);

            SubjectForCreationDto subject = new SubjectForCreationDto
            {
                FirstName   = "Zita",
                LastName    = "Garsden Kabok",
                DateOfBirth = new DateTime(1980, 05, 03),
                TitleId     = 2
            };

            // act
            var result = sc.CreateSubject(subject);

            // assert
            Assert.IsInstanceOf <CreatedAtRouteResult>(result);
        }
        public void AddSubject_InValidObject_ReturnsBadRequestResult()
        {
            // arrange
            FakeSubjectOrderRepository fake = new FakeSubjectOrderRepository();
            SubjectsController         sc   = new SubjectsController(fake);

            SubjectForCreationDto subject = new SubjectForCreationDto
            {
                LastName    = "Garsden Kabok",
                DateOfBirth = new DateTime(1980, 05, 03),
                TitleId     = 2
            };

            sc.ModelState.AddModelError("firstName", "Required");

            // act
            var result = sc.CreateSubject(subject);

            // assert
            Assert.IsInstanceOf <BadRequestObjectResult>(result);
        }
Exemplo n.º 4
0
        public async Task CreateLesson_ReturnsNewLesson()
        {
            //Arrange
            var subjectForCreation = AutoFaker.Generate <SubjectForCreationDto>();
            var subject            = AutoFaker.Generate <Subject>();
            var subjectDto         = AutoFaker.Generate <SubjectDto>();

            _subjectService.Setup(x => x.Create(It.IsAny <Subject>(), It.IsAny <int>()))
            .ReturnsAsync(subject);
            _mapper.Setup(x => x.Map <Subject>(subjectForCreation))
            .Returns(subject);
            _mapper.Setup(x => x.Map <SubjectDto>(subject))
            .Returns(subjectDto);

            //Action
            var result = await _sut.CreateSubject(subjectForCreation);

            //Assert
            result.Should().BeOfType <OkObjectResult>();
            ((OkObjectResult)result).StatusCode.Should().Be(StatusCodes.Status200OK);
            ((OkObjectResult)result).Value.Should().BeEquivalentTo(subjectDto);
        }