public Task AddMenuItemsShouldReturnProperHypermediaLinks(AddMenuItems command, Fixture fixture) => _apiHelper.InTheContextOfAManager( manager => async client => { // Act var response = await client .PostAsJsonAsync(MenuRoute("items"), command); // Assert var expectedLinks = new List <string> { LinkNames.Self, LinkNames.Menu.GetAllMenuItems }; var resource = await response.ShouldBeAResource <AddMenuItemsResource>(expectedLinks); }, fixture);
public async Task CannotAddConflictingMenuItemsWhenSomeAreConflicting(AddMenuItems command) { // Arrange await _fixture.SendAsync(command); var commandToTest = new AddMenuItems { // Purposefully taking only the first item MenuItems = new List <MenuItemView> { command.MenuItems.First() } }; // Act var result = await _fixture.SendAsync(commandToTest); // Assert result.ShouldHaveErrorOfType(ErrorType.Conflict); }
void ShowAddMenu(Rect rect, ReorderableList lst) { var menu = new GenericMenu(); TypeUtility.PopulateMenuWithCreateItems(menu, m_AddType, type => { var element = serializedProperty.AddArrayElement(); element.managedReferenceValue = CreateNewInstance(type); serializedProperty.serializedObject.ApplyModifiedProperties(); }, RequiredAttribute); AddMenuItems?.Invoke(menu); if (menu.GetItemCount() == 0 && NoItemMenuItem != null) { menu.AddDisabledItem(NoItemMenuItem); } menu.ShowAsContext(); }
public async Task CanAddMenuItems(MenuItemView[] itemsToAdd) { // Arrange var command = new AddMenuItems { MenuItems = itemsToAdd }; // Act var result = await _fixture.SendAsync(command); // Assert var itemsInDb = await _fixture.ExecuteDbContextAsync(dbContext => dbContext .MenuItems .ToListAsync()); itemsInDb.ShouldAllBe(i => itemsToAdd.Any(addedItem => i.Number == addedItem.Number && i.Description == addedItem.Description && i.Price == addedItem.Price)); }
void ShowAddMenu(Rect rect, ReorderableList lst) { var menu = new GenericMenu(); var foundTypes = TypeCache.GetTypesDerivedFrom(m_AddType); for (int i = 0; i < foundTypes.Count; ++i) { var type = foundTypes[i]; if (type.IsAbstract) { continue; } if (RequiredAttribute != null && !Attribute.IsDefined(type, RequiredAttribute)) { continue; } menu.AddItem(new GUIContent(ObjectNames.NicifyVariableName(type.Name)), false, () => { var element = serializedProperty.AddArrayElement(); element.managedReferenceValue = CreateNewInstance(type); serializedProperty.serializedObject.ApplyModifiedProperties(); }); } AddMenuItems?.Invoke(menu); if (menu.GetItemCount() == 0 && NoItemMenuItem != null) { menu.AddDisabledItem(NoItemMenuItem); } menu.ShowAsContext(); }
public Task GetMenuItemsShouldReturnProperHypermediaLinksWhenLoggedInAsAManager(AddMenuItems command, Fixture fixture) => _apiHelper.InTheContextOfAManager( manager => async client => { // Arrange await _fixture.SendAsync(command); // Act var response = await client .GetAsync(MenuRoute("items")); // Assert var expectedLinks = new List <string> { LinkNames.Self }; var resource = await response.ShouldBeAResource <MenuItemsContainerResource>(expectedLinks); var expectedMenuItemLinks = new List <string> { LinkNames.Menu.AddMenuItem }; resource.Items.ShouldAllBe(i => i.Links.All(l => expectedMenuItemLinks.Contains(l.Key))); }, fixture);
public async Task <IActionResult> AddMenuItems([FromBody] AddMenuItems command) => (await Mediator.Send(command) .MapAsync(ToEmptyResourceAsync <AddMenuItemsResource>)) .Match(Ok, Error);