public async Task <IActionResult> DeleteTag(ToggleLocator id, string tagName) { var request = new RemoveToggleTagRequest(GetEditor(), id, tagName); var response = await _mediator.Send(request); return(new JsonResult(response.Tags)); }
public async Task <IActionResult> DeleteCondition(ToggleLocator id, ConditionID condition) { var request = new RemoveToggleConditionRequest(GetEditor(), id, condition); var response = await _mediator.Send(request); return(new JsonResult(response.Conditions)); }
public AddToggleConditionRequest(EditorID editor, ToggleLocator locator, ConditionID parentID, Dictionary <string, object> properties) { Editor = editor; Locator = locator; ParentID = parentID; Properties = properties; }
public async Task <IActionResult> Get(ToggleLocator id) { return(new JsonResult(new { ConditionTypes = ConditionBuilder.AvailableTypes().OrderBy(n => n) })); }
public GetSingleToggleTagsTests() { _mediator = Substitute.For <IMediator>(); _controller = new ToggleTagsController(_mediator); _validLocator = ToggleLocator.Create("i exist"); _invalidLocator = ToggleLocator.Create("i dont exist"); var toggleView = new ToggleView { ID = ToggleID.CreateNew(), Name = "toggle-1", Description = "the first toggle", Tags = { "first", "dev" } }; var response = new GetToggleResponse { Toggle = toggleView }; _mediator .Send(Arg.Any <GetToggleRequest>()) .Returns(new GetToggleResponse()); _mediator .Send(Arg.Is <GetToggleRequest>(req => req.Locator == _validLocator)) .Returns(response); }
public async Task <IActionResult> GetConditions(ToggleLocator id) { var request = new GetToggleRequest(id); var response = await _mediator.Send(request); return(new JsonResult(response.Toggle?.Conditions)); }
public async Task <IActionResult> GetConditions(ToggleLocator id, ConditionID condition) { var request = new GetToggleRequest(id); var response = await _mediator.Send(request); return(new JsonResult(response.Toggle?.Conditions?.SingleOrDefault(c => c.ID == condition))); }
public async Task <IActionResult> GetDescription(ToggleLocator id) { var request = new GetToggleRequest(id); var response = await _mediator.Send(request); return(new JsonResult(new { response.Toggle?.Description })); }
public async Task <IActionResult> PutName(ToggleLocator id, [FromBody] ToggleNamePutRequest model) { var editor = EditorID.Parse("TestApiUser"); //User.Identity.Name var request = new RenameToggleRequest(editor, id, model.Name); var response = await _mediator.Send(request); return(new JsonResult(response)); }
public async Task When_the_requested_toggle_doesnt_exist_by_name() { var toggleName = ToggleID.CreateNew().ToString(); var result = await _handler.Handle(new GetToggleRequest(ToggleLocator.Create(toggleName)), CancellationToken.None); result.Toggle.ShouldBeNull(); }
public async Task When_fetching_a_single_toggle_by_name() { var locator = ToggleLocator.Create("toggle-name"); var response = (JsonResult)await _controller.Get(locator); await _mediator.Received().Send(Arg.Is <GetToggleRequest>(req => req.Locator == locator)); response.Value.ShouldBeOfType <ToggleView>(); }
public async Task <IActionResult> AddCondition(ToggleLocator id, [FromBody] ConditionDto condition) { var request = new AddToggleConditionRequest(GetEditor(), id, condition); var response = await _mediator.Send(request); return(Created( $"/toggles/id/{response.ToggleID}/conditions/{response.Condition.ID}", response.Condition )); }
protected HandlerTest() { Events = new PendingEventsStore(); Storage = new InMemoryStorage(Events); Storage.RegisterAggregate <ToggleID, Toggle>(); Storage.RegisterProjection <ToggleView>(); Toggle = Toggle.CreateNew(EditorID.Parse("editor"), "name", "desc"); Locator = ToggleLocator.Create(Toggle.ID); Editor = EditorID.Parse("Editor:" + Guid.NewGuid()); }
public async Task When_the_requested_toggle_exists_by_name() { var toggleName = "name"; _view.Add(new ToggleView { ID = ToggleID.CreateNew(), Name = toggleName, Description = "desc" }); var result = await _handler.Handle(new GetToggleRequest(ToggleLocator.Create(toggleName)), CancellationToken.None); result.Toggle.Name.ShouldBe(toggleName); }
private async Task <UpdateToggleTagsResponse> ModifyTags(ToggleLocator locator, Action <Toggle> modify) { var toggle = await locator.LocateAggregate(_session); modify(toggle); await _session.Save(toggle); return(new UpdateToggleTagsResponse { Tags = toggle.Tags.ToArray() }); }
public async Task <IActionResult> AddConditionAsChild(ToggleLocator id, ConditionID parent, [FromBody] ConditionDto condition) { var request = new AddToggleConditionRequest(GetEditor(), id, parent, condition); var response = await _mediator.Send(request); var uri = Url.Action(nameof(GetCondition), new { id = response.ToggleID, condition = response.AddedConditionID }); return(Created(uri, response)); }
public async Task When_adding_a_condition() { var toggle = Toggle.CreateNew(Editor, "Toggle", "original"); using (var session = Storage.CreateSession()) await session.Save(toggle); _props["type"] = "enabled"; await Send(new AddToggleConditionRequest(Editor, ToggleLocator.Create(toggle.ID), _props)); Response .Condition .ShouldBeOfType <EnabledCondition>(); }
public Task BindModelAsync(ModelBindingContext bindingContext) { if (bindingContext.ModelType != typeof(ToggleLocator)) { return(Task.CompletedTask); } var value = bindingContext.ValueProvider.GetValue(bindingContext.FieldName); var guid = Guid.Empty; var locator = Guid.TryParse(value.FirstValue, out guid) ? ToggleLocator.Create(ToggleID.Parse(guid)) : ToggleLocator.Create(value.FirstValue); bindingContext.Result = ModelBindingResult.Success(locator); return(Task.CompletedTask); }
public void When_removing_tags_and_the_toggle_doesnt_exist() { Should.Throw <AggregateNotFoundException>(async() => await Handler.Handle( new RemoveToggleTagRequest(Editor, ToggleLocator.Create(ToggleID.CreateNew()), "wat"), CancellationToken.None) ); }
public ChangeToggleDescriptionRequest(EditorID editor, ToggleLocator locator, string description) { Editor = editor; Locator = locator; Description = description; }
public ChangeConditionModeRequest(EditorID editor, ToggleLocator locator, ConditionModes mode) { Editor = editor; Locator = locator; Mode = mode; }
public GetToggleRequest(ToggleLocator locator) { Locator = locator; }
private Task <ICollection <string> > ValidateMessage() => _validator.Validate( new AddToggleConditionRequest( EditorID.Parse("test"), ToggleLocator.Create("wat"), _props ));
public RemoveToggleTagRequest(EditorID editor, ToggleLocator locator, string tagName) { Editor = editor; Locator = locator; TagName = tagName; }
protected override async Task <GetToggleRequest> When() { await CreateToggle(); return(new GetToggleRequest(ToggleLocator.Create(ToggleID.CreateNew()))); }
public RemoveToggleConditionRequest(EditorID editor, ToggleLocator locator, ConditionID conditionId) { Editor = editor; Locator = locator; ConditionId = conditionId; }
public RenameToggleRequest(EditorID editor, ToggleLocator locator, string name) { Editor = editor; Locator = locator; Name = name; }