コード例 #1
0
        public async Task GetExistingDrinkFromShoppingListReturnsOk()
        {
            var drink = new Drink {
                Name = "drink", Quantity = 1
            };

            this.repository.Setup(r => r.GetByName(drink.Name)).ReturnsAsync(() => drink);

            var subject = this.CreateSubject();

            var result = await subject.Get(drink.Name);

            result.ShouldBeOfType <OkObjectResult>();
            var value = ActionResultHelper.GetOkObject <Drink>(result);

            value.Name.ShouldBe(drink.Name);
            value.Quantity.ShouldBe(drink.Quantity);
        }
コード例 #2
0
        public async Task DeleteExistingDrinkToShoppingListReturnsOk()
        {
            var drink = new Drink {
                Name = "drink", Quantity = 1
            };

            this.repository.Setup(r => r.GetByName(drink.Name)).ReturnsAsync(() => drink);
            this.repository.Setup(r => r.Delete(drink.Name)).Returns(() => Task.CompletedTask);

            var subject = this.CreateSubject();

            var result = await subject.Delete(drink.Name);

            result.ShouldBeOfType <OkObjectResult>();
            var value = ActionResultHelper.GetOkObject <OkResponse>(result);

            value.Message.ShouldBe("Ok");
        }
コード例 #3
0
        public async Task AddNonExistingDrinkToShoppingListReturnsOK()
        {
            var drink = new Drink {
                Name = "drink", Quantity = 1
            };

            this.repository.Setup(r => r.GetByName(drink.Name)).ReturnsAsync(() => null);
            this.repository.Setup(r => r.Save(drink)).Returns(() => Task.CompletedTask);

            var subject = this.CreateSubject();

            var result = await subject.Post(drink);

            result.ShouldBeOfType <OkObjectResult>();
            var value = ActionResultHelper.GetOkObject <Drink>(result);

            value.Name.ShouldBe(drink.Name);
            value.Quantity.ShouldBe(drink.Quantity);
        }