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); }
public async override Task <string> Handle(CreateTagCommand request, CancellationToken cancellationToken) { Entity = mapper.Map <TagDto, Tag>(request); Result = repo.Add(Entity); return(Result); }
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>(); }
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>(); }
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); }
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); }
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); }
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)); }
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())); } }
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); }
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(); }
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); }
public async Task <ActionResult <Guid> > Post(CreateTagCommand command) { return(await Sender.Send(command)); }
public IdResponse CreateTag(CreateTagCommand command) { return(_bus.Dispatch <CreateTagCommand, IdResponse>(command)); }
public async Task <ActionResult <CreateTagCommandResponse> > Create([FromBody] CreateTagCommand createTagCommand) { var response = await this._mediator.Send(createTagCommand); return(this.Ok(response)); }
public async Task <IActionResult> CreateTag(long scriptId, [FromBody] CreateTagCommand command) { var newTag = await Mediator.Send(command); return(CreatedAtAction(nameof(CreateTag), newTag)); }
public IdResponse Post([FromBody] CreateTagCommand command) { return(_tagsFacade.CreateTag(command)); }
// 0.1 The request comes in. public async Task <int> Create(CreateTagCommand command) { // 0.2 Its Sends to Mediator return(await Mediator.Send(command)); }
public async Task <IActionResult> Create([FromBody] CreateTagCommand command) { return(await Execute(command)); }
public async Task <IActionResult> PostNew([FromBody] CreateTagCommand command) { var id = await _mediator.Send(command); return(Ok(await _queries.GetTagByIdAsnyc(id))); }
public async Task <IActionResult> Create(CreateTagCommand command) { await Mediator.Send(command); return(NoContent()); }