public async Task PutItemAsync_ItemWithSetLastUpdateTime_ReturnsBadRequest()
        {
            var changedItem = ItemFactory.CreateItem("0EBF758B-FC9F-4A42-8A6E-3DD7209E0E46", "Learn redux", null, new DateTime(2018, 10, 23));

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PutItemAsync(changedItem.Id, changedItem));

            AssertExtended.IsBadResponseMessage(message, nameof(Item.LastUpdateTime));
        }
        public async Task PutItemAsync_ItemWithIncorrectText_ReturnsBadRequest(string text)
        {
            var changedItem = ItemFactory.CreateItem("0EBF758B-FC9F-4A42-8A6E-3DD7209E0E46", text);

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PutItemAsync(changedItem.Id, changedItem));

            AssertExtended.IsBadResponseMessage(message, nameof(Item.Text));
        }
        public async Task PutItemAsync_NullItem_ReturnsBadRequest()
        {
            var id = Guid.Parse("0EBF758B-FC9F-4A42-8A6E-3DD7209E0E46");

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PutItemAsync(id, null));

            AssertExtended.IsBadResponseMessage(message, string.Empty);
        }
        public async Task PutItemAsync_EmptyGuid_ReturnsBadRequest()
        {
            var updatedItem = ItemFactory.CreateItem("0EBF758B-FC9F-4A42-8A6E-3DD7209E0E46", "Learn redux");

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PutItemAsync(Guid.Empty, updatedItem));

            AssertExtended.IsBadResponseMessage(message, string.Empty);
        }
        public async Task PostItemAsync_ItemWithSetId_ReturnsBadRequest()
        {
            var newItem = ItemFactory.CreateItem("5694207A-697C-449B-BA49-05AC6683C5E5", "Write dummier controller");

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PostItemAsync(newItem));

            AssertExtended.IsBadResponseMessage(message, nameof(Item.Id));
        }
        public async Task PostItemAsync_ItemWithSetLastUpdateTime_ReturnsBadRequest()
        {
            var newItem = ItemFactory.CreateItem(Guid.Empty, "Write dummier controller", DateTime.MinValue, new DateTime(2018, 10, 23));

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PostItemAsync(newItem));

            AssertExtended.IsBadResponseMessage(message, nameof(Item.LastUpdateTime));
        }
        public async Task PostItemAsync_DefaultItem_ReturnsBadRequest()
        {
            var newItem = new Item();

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PostItemAsync(newItem));

            AssertExtended.IsBadResponseMessage(message, nameof(Item.Text));
        }
        public async Task PostItemAsync_ItemWithIncorrectText_ReturnsBadRequest(string text)
        {
            var newItem = ItemFactory.CreateItem(Guid.Empty, text);

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PostItemAsync(newItem));

            AssertExtended.IsBadResponseMessage(message, nameof(Item.Text));
        }
        public async Task GetItemByIdAsync_EmptyGuid_ReturnsBadRequest()
        {
            var id = Guid.Empty;

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.GetItemByIdAsync(id));

            AssertExtended.IsBadResponseMessage(message, string.Empty);
        }
        public async Task PutItemAsync_NotMatchingIds_ReturnsBadRequest()
        {
            var id          = Guid.Parse("EA531B21-FC10-4BEB-B6BE-A9635E610213");
            var changedItem = ItemFactory.CreateItem("0EBF758B-FC9F-4A42-8A6E-3DD7209E0E46", "Learn redux");

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PutItemAsync(id, changedItem));

            AssertExtended.IsBadResponseMessage(message, nameof(Item.Id));
        }
        public async Task PutItemAsync_DefaultItem_ReturnsBadRequest()
        {
            var id          = Guid.Parse("0EBF758B-FC9F-4A42-8A6E-3DD7209E0E46");
            var changedItem = new Item();

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PutItemAsync(id, changedItem));

            AssertExtended.IsBadResponseMessage(message, nameof(Item.Id), nameof(Item.Text));
        }
        public async Task PostItemAsync_BadItemModelState_ReturnsAllErrors()
        {
            var newItem = ItemFactory.CreateItem("5694207A-697C-449B-BA49-05AC6683C5E5", string.Empty, new DateTime(2018, 10, 23), new DateTime(2018, 10, 23));

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PostItemAsync(newItem));

            AssertExtended.IsBadResponseMessage(message,
                                                nameof(Item.Id),
                                                nameof(Item.Text),
                                                nameof(Item.CreationTime),
                                                nameof(Item.LastUpdateTime)
                                                );
        }
Example #13
0
        public async Task DeleteItemAsync_EmptyGuid_ReturnsBadRequest()
        {
            var id = Guid.Empty;

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.DeleteItemAsync(id));

            Assert.Multiple(() =>
            {
                ItemObtainingService.DidNotReceive().ExistsAsync(Arg.Any <Guid>());
                ItemRepository.DidNotReceive().GetByIdAsync(Arg.Any <Guid>());
                AssertExtended.IsBadResponseMessage(message, string.Empty);
            });
        }
        public async Task PutItemAsync_BadItemModelState_ReturnsAllErrors()
        {
            var id          = Guid.Parse("0EBF758B-FC9F-4A42-8A6E-3DD7209E0E46");
            var changedItem = ItemFactory.CreateItem(Guid.Empty, null, new DateTime(2018, 10, 23), new DateTime(2018, 10, 23));

            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PutItemAsync(id, changedItem));

            AssertExtended.IsBadResponseMessage(message,
                                                nameof(Item.Id),
                                                nameof(Item.Text),
                                                nameof(Item.CreationTime),
                                                nameof(Item.LastUpdateTime)
                                                );
        }
        public async Task PostItemAsync_NullItem_ReturnsBadRequest()
        {
            var message = await ItemsController.ExecuteAsyncAction(controller => controller.PostItemAsync(null));

            AssertExtended.IsBadResponseMessage(message, string.Empty);
        }