コード例 #1
0
        public async Task InputDataIsOk_Executed_ReturnProjectId()
        {
            //Arrange
            var projectRepository = new Mock <IProjectRepository>();

            // LÁ DO COMMANDS => PROJECTS => CREATEPROJECT
            var createProjectCommand = new CreateProjectCommand
            {
                Title        = "Título teste",
                Description  = "Descrição teste",
                TotalCost    = 5000,
                IdClient     = 1,
                IdFreelancer = 2,
                FinishedAt   = DateTime.Parse("2022-04-08")
            };

            var createProjectCommandHandler = new CreateProjectCommandHandler(projectRepository.Object);

            //Act
            var id = await createProjectCommandHandler.Handle(createProjectCommand, new CancellationToken());

            //Assert
            Assert.True(id >= 0);

            // VERIFICAR SE O MÉTODO DO REPOSITORY FOI CHAMADO
            // IsAny => PADRÃO PARA SABER SE O ENTITY PROJECT FOI CHAMADO UMA VEZ "ONCE"
            // It.IsAny<Project>()) É UMA SOBRECARGA LÁ NO REPOSITORY
        }
コード例 #2
0
        public async Task Handle_ValidCommand_ShouldSaveEntriesSuccessfully(Project Project)
        {
            _fixture.RepeatCount = 0;
            // Arrange
            _mapperMock.Setup(m => m.Map <Project>(It.IsAny <CreateProjectCommand>())).Returns(Project); // AutoMapper setup

            _mediatorMock.Setup(m => m.Publish(It.IsAny <CreateProjectParticipantsCommand>(), It.IsAny <CancellationToken>()));

            var sut = new CreateProjectCommandHandler(_context, _mapperMock.Object, _mediatorMock.Object); // creating system under test

            // Act
            var owner = _fixture.Create <User>();
            await ContextOperation.CreateEntity(_context, owner);

            await sut.Handle(new CreateProjectCommand { OwnerId = owner.Id }, CancellationToken.None);

            // Assert
            _context.Projects.Count().ShouldBe(1);
        }
コード例 #3
0
        public async Task InputDataIsOK_Executed_ReturnProjectId()
        {
            // Arrange
            var projectRepository    = new Mock <IProjectRepository>();
            var createProjectCommand = new CreateProjectCommand
            {
                Title        = "Teste 01",
                Description  = "Um descrição",
                TotalCost    = 504521,
                IdClient     = 1,
                IdFreelancer = 2
            };
            var createProjectCommandHandler = new CreateProjectCommandHandler(projectRepository.Object);

            // Act
            var id = await createProjectCommandHandler.Handle(createProjectCommand, new CancellationToken());

            // Assert
            Assert.True(id >= 0);
            projectRepository.Verify(pr => pr.AddAsync(It.IsAny <Project>()), Times.Once);
        }
コード例 #4
0
        public async Task InputDataIsOk_Executed_ReturnProjectId()
        {
            //Arrange
            var projectRepository = new Mock <IProjectRepository>();

            var createProjectCommand = new CreateProjectCommand
            {
                Title        = "Titulo de Teste",
                Description  = "Uma descrição de teste",
                TotalCost    = 50000,
                IdClient     = 1,
                IdFreelancer = 2
            };

            var createProjectCommandHandler = new CreateProjectCommandHandler(projectRepository.Object);

            //Act
            var id = await createProjectCommandHandler.Handle(createProjectCommand, new CancellationToken());

            //Assert
            Assert.True(id >= 0);                                                          //Verificar se foi retornado o id

            projectRepository.Verify(pr => pr.AddAsync(It.IsAny <Project>()), Times.Once); //Verificando se o método AddAsync foi chamado 1 vez
        }
コード例 #5
0
        public async Task ThreeProjectsExist_Executed_ReturnThreeProjectViewModels()
        {
            //Arrange
            var projectRepositoryMock = new Mock <IProjectRepository>();

            var createProjectCommand = new CreateProjectCommand
            {
                Title        = "Titulo de Test",
                Description  = "Descrição de Teste",
                ClientId     = 1,
                FreelancerId = 1,
                TotalCost    = 10000
            };

            var createProjectCommandHandler = new CreateProjectCommandHandler(projectRepositoryMock.Object);

            //Acts
            var id = await createProjectCommandHandler.Handle(createProjectCommand, new CancellationToken());

            //Assert
            Assert.True(id >= 0);

            projectRepositoryMock.Verify(pr => pr.CreateAsync(It.IsAny <Project>()), Times.Once);
        }