示例#1
0
        public async Task Add_AddPublication_OkObjectResult()
        {
            // Arrange
            var addablePublication = new Mock <IAddablePublicationAsync>();
            var mapper             = new Mock <IMapper>();

            var publicationController = new PublicationController(
                addablePublication.Object,
                mapper.Object);

            // Act
            var result = await publicationController.Add(_addPublicationDTO);

            // Assert
            Assert.NotNull(publicationController);
            Assert.NotNull(result);
            Assert.IsType <OkObjectResult>(result.Result);
        }
示例#2
0
        public async Task Add_AddPublicationIfAuthorNotFound_NotFound404()
        {
            // Arrange
            var addablePublication = new Mock <IAddablePublicationAsync>();
            var mapper             = new Mock <IMapper>();

            var publicationController = new PublicationController(
                addablePublication.Object,
                mapper.Object);

            mapper.Setup(m => m.Map <PublicationEntity>(_addPublicationDTO))
            .Returns(_publication);

            addablePublication.Setup(ap => ap.AddAsync(_publication))
            .Throws(new ObjectNotFoundException("Author not found."));

            // Act
            var result = await publicationController.Add(_addPublicationDTO);

            // Assert
            Assert.IsType <NotFoundObjectResult>(result.Result);
        }
示例#3
0
        public async Task Add_AddPublicationIfPublicationAlreadyExist_BadRequest400()
        {
            // Arrange
            var addablePublication = new Mock <IAddablePublicationAsync>();
            var mapper             = new Mock <IMapper>();

            var publicationController = new PublicationController(
                addablePublication.Object,
                mapper.Object);

            mapper.Setup(m => m.Map <PublicationEntity>(_addPublicationDTO))
            .Returns(_publication);

            addablePublication.Setup(ap => ap.AddAsync(_publication))
            .Throws(new ObjectAlreadyExistException("Publication already exist."));

            // Act
            var result = await publicationController.Add(_addPublicationDTO);

            // Assert
            Assert.IsType <BadRequestObjectResult>(result.Result);
        }