public async Task CanCreateTagAsync()
        {
            var authorizedClient = SystemTestExtension.GetTokenAuthorizeHttpClient(_factory);

            var createTagCommand = new CreateTagCommand
            {
                CreateTagModels = new List <CreateTagCommandModel>
                {
                    new CreateTagCommandModel
                    {
                        Name       = "tag1",
                        ToQuestion = true
                    }
                }
            };

            var serializedTagCommand = JsonConvert.SerializeObject(createTagCommand);

            // The endpoint or route of the controller action.
            var httpResponse = await authorizedClient.PostAsync(requestUri : "/Tag",
                                                                content : new StringContent(content: serializedTagCommand,
                                                                                            encoding: Encoding.UTF8,
                                                                                            mediaType: StringConstants.ApplicationJson));

            // Must be successful.
            httpResponse.EnsureSuccessStatusCode();

            Assert.True(httpResponse.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.Created, httpResponse.StatusCode);
        }
Exemplo n.º 2
0
        public async override Task <string> Handle(CreateTagCommand request, CancellationToken cancellationToken)
        {
            Entity = mapper.Map <TagDto, Tag>(request);

            Result = repo.Add(Entity);

            return(Result);
        }
Exemplo n.º 3
0
        public void Post([FromBody] CreateTagCommand request)
        {
            var repository = new TagsRepository();

            repository.InsertImorTag(new ImorTag
            {
                Uri         = request.Uri,
                Description = request.Description,
                Label       = request.Label
            });
        }
        public void ShouldNotCallHandleIfNotSavedChanges()
        {
            context.Setup(x => x.Tags).Returns(dbSetTag.Object);
            context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(0));

            CreateTagCommandHandler createTagCommandHandler = new CreateTagCommandHandler(context.Object, stringLocalizer.Object, mapper.Object);
            CreateTagCommand        createTagCommand        = new CreateTagCommand();

            mapper.Setup(x => x.Map <Tag>(createTagCommand)).Returns(new Tag());

            Func <Task> act = async() => await createTagCommandHandler.Handle(createTagCommand, new CancellationToken());

            act.Should().Throw <RestException>();
        }
Exemplo n.º 5
0
        public async Task ShouldNotCreateTagIfTitleIsEmpty()
        {
            var loggedUser = await RunAsUserAsync("scott101@localhost", "Pa$$w0rd!");

            var tagToCreate = new Faker <TagCreateOrEditDto>("en")
                              .RuleFor(a => a.Id, f => f.Random.Guid())
                              .Generate();

            tagToCreate.Title = null;

            var command = new CreateTagCommand(tagToCreate);

            Func <Task> act = async() => await SendAsync(command);

            act.Should().ThrowAsync <Common.Exceptions.ValidationException>();
        }
Exemplo n.º 6
0
        public async Task ShouldGetTag()
        {
            var createTagCommand = new CreateTagCommand("t1", createProjectDto.Id);
            var createTagDto     = await SendAsync(createTagCommand);

            var getTagQuery = new GetTagQuery(createTagDto.Id, createProjectDto.Id);
            var getTagDto   = await SendAsync(getTagQuery);

            getTagDto.ShouldNotBeNull();
            getTagDto.Name.ShouldBe("t1");
            getTagDto.Description.ShouldBeNull();
            getTagDto.ProjectId.ShouldBe(createProjectDto.Id);

            var deleteTagCommand = new DeleteTagCommand(createTagDto.Id, createProjectDto.Id);

            await SendAsync(deleteTagCommand);
        }
Exemplo n.º 7
0
        public async Task ShouldGetTagList()
        {
            var createTagCommand = new CreateTagCommand("t1", createProjectDto.Id);
            var createTagDto     = await SendAsync(createTagCommand);

            var getTagListQuery = new GetTagListQuery(createProjectDto.Id);
            var getTagListDto   = await SendAsync(getTagListQuery);

            getTagListDto.ShouldNotBeNull();
            getTagListDto.Data.ShouldNotBeNull();
            getTagListDto.Count.ShouldNotBe(0);
            getTagListDto.Data.ShouldBeOfType <List <GetTagDto> >();

            var deleteTagCommand = new DeleteTagCommand(createTagDto.Id, createProjectDto.Id);

            await SendAsync(deleteTagCommand);
        }
Exemplo n.º 8
0
        public async Task ShouldGetModelForValidInformation()
        {
            var createTag = new CreateTagCommand
            {
                TenantId        = _tenantId,
                CreatedBy       = _adminUserId,
                CreateTagModels = new List <CreateTagCommandModel>
                {
                    new CreateTagCommandModel
                    {
                        Name = "tag1"
                    }
                }
            };

            var tagModel = await _createTagCommandHandler.Handle(createTag, CancellationToken.None);

            Assert.Null(tagModel.Errors);
        }
Exemplo n.º 9
0
        public async Task ShouldCreateTag()
        {
            var loggedUser = await RunAsUserAsync("scott101@localhost", "Pa$$w0rd!");

            var tagToCreate = new Faker <TagCreateOrEditDto>("en")
                              .RuleFor(a => a.Id, f => f.Random.Guid())
                              .RuleFor(a => a.Title, f => f.Lorem.Sentence())
                              .Generate();

            var command = new CreateTagCommand(tagToCreate);

            var createdId = await SendAsync(command);

            var createdTag = await FindByGuidAsync <Tag>(createdId);

            createdTag.Id.Should().Be(createdId);
            createdTag.Title.Should().Be(tagToCreate.Title);
            createdTag.CreatedBy.Should().Be(loggedUser);
            createdTag.Created.Should().BeCloseTo(DateTime.UtcNow, new TimeSpan(0, 0, 1));
        }
Exemplo n.º 10
0
        public async Task <ActionResult <ResponseModel <CreateTagModel> > > Post([FromBody] CreateTagCommand command)
        {
            try
            {
                command.CreatedBy = Claims[ClaimTypes.Sid].ToInt();
                command.TenantId  = Guid.Parse(Claims[ClaimTypes.UserData]);

                var createTagModel = await Mediator.Send(command);

                return(Created($"api/tag/{createTagModel.Items}", createTagModel));
            }
            catch (ObjectAlreadyExistsException ex)
            {
                return(Conflict(new ResponseModel <CreateTagModel>(new Error(HttpStatusCode.Conflict, ex))));
            }
            catch
            {
                return(StatusCode(HttpStatusCode.InternalServerError.ToInt()));
            }
        }
Exemplo n.º 11
0
        public async Task ShouldUpdateTag()
        {
            var createTagCommand = new CreateTagCommand("t1", createProjectDto.Id);
            var createTagDto     = await SendAsync(createTagCommand);

            var updateTagCommand = new UpdateTagCommand(createTagDto.Id, createProjectDto.Id, "t edit", "description 1");

            await SendAsync(updateTagCommand);

            var scenarioEntity = await ExecuteDbContextAsync(db => db.Tags
                                                             .SingleOrDefaultAsync(p => p.Id.Equals(createTagDto.Id))
                                                             );

            scenarioEntity.ShouldNotBeNull();
            scenarioEntity.Name.ShouldBe("t edit");
            scenarioEntity.Description.ShouldBe("description 1");

            var deleteTagCommand = new DeleteTagCommand(createTagDto.Id, createProjectDto.Id);

            await SendAsync(deleteTagCommand);
        }
Exemplo n.º 12
0
        public async Task ShouldCreateAndDeleteTag()
        {
            var createTagCommand = new CreateTagCommand("t1", createProjectDto.Id);
            var createTagDto     = await SendAsync(createTagCommand);

            var tagEntity = await ExecuteDbContextAsync(db => db.Tags
                                                        .SingleOrDefaultAsync(p => p.Id.Equals(createTagDto.Id))
                                                        );

            tagEntity.ShouldNotBeNull();
            tagEntity.Name.ShouldBe("t1");

            var deleteTagCommand = new DeleteTagCommand(createTagDto.Id, createProjectDto.Id);

            await SendAsync(deleteTagCommand);

            tagEntity = await ExecuteDbContextAsync(db => db.Tags
                                                    .SingleOrDefaultAsync(p => p.Id.Equals(createTagDto.Id))
                                                    );

            tagEntity.ShouldBeNull();
        }
Exemplo n.º 13
0
        public async Task ShouldCallHandle()
        {
            var id     = new Guid();
            var tagDto = new TagCreateOrEditDto {
                Id = id
            };
            var tag = new Tag {
                Id = id
            };

            context.Setup(x => x.Tags).Returns(dbSetTag.Object);
            context.Setup(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())).Returns(Task.FromResult(1));

            CreateTagCommandHandler createTagCommandHandler = new CreateTagCommandHandler(context.Object, stringLocalizer.Object, mapper.Object);
            CreateTagCommand        createTagCommand        = new CreateTagCommand(tagDto);

            mapper.Setup(x => x.Map <Tag>(createTagCommand)).Returns(tag);

            var result = await createTagCommandHandler.Handle(createTagCommand, new CancellationToken());

            result.Should().Be(id);
        }
Exemplo n.º 14
0
 public async Task <ActionResult <Guid> > Post(CreateTagCommand command)
 {
     return(await Sender.Send(command));
 }
Exemplo n.º 15
0
 public IdResponse CreateTag(CreateTagCommand command)
 {
     return(_bus.Dispatch <CreateTagCommand, IdResponse>(command));
 }
Exemplo n.º 16
0
        public async Task <ActionResult <CreateTagCommandResponse> > Create([FromBody] CreateTagCommand createTagCommand)
        {
            var response = await this._mediator.Send(createTagCommand);

            return(this.Ok(response));
        }
Exemplo n.º 17
0
        public async Task <IActionResult> CreateTag(long scriptId, [FromBody] CreateTagCommand command)
        {
            var newTag = await Mediator.Send(command);

            return(CreatedAtAction(nameof(CreateTag), newTag));
        }
Exemplo n.º 18
0
 public IdResponse Post([FromBody] CreateTagCommand command)
 {
     return(_tagsFacade.CreateTag(command));
 }
Exemplo n.º 19
0
 // 0.1 The request comes in.
 public async Task <int> Create(CreateTagCommand command)
 {
     // 0.2 Its Sends to Mediator
     return(await Mediator.Send(command));
 }
Exemplo n.º 20
0
 public async Task <IActionResult> Create([FromBody] CreateTagCommand command)
 {
     return(await Execute(command));
 }
Exemplo n.º 21
0
        public async Task <IActionResult> PostNew([FromBody] CreateTagCommand command)
        {
            var id = await _mediator.Send(command);

            return(Ok(await _queries.GetTagByIdAsnyc(id)));
        }
Exemplo n.º 22
0
        public async Task <IActionResult> Create(CreateTagCommand command)
        {
            await Mediator.Send(command);

            return(NoContent());
        }