コード例 #1
0
        public async Task Create_ThrowsExeption_DuplicateName()
        {
            ITodoItemProvider provider = new TodoItemProvider(mockContext.Object);
            var item = new TodoItemDAO {
                Id = 22, Name = "TestItem1"
            };

            await Assert.ThrowsAsync <ArgumentException>(() => provider.Create(item));
        }
コード例 #2
0
        public async Task Create_ThrowsExeption_PriorityOutOf1to5Range()
        {
            ITodoItemProvider provider = new TodoItemProvider(mockContext.Object);
            var item = new TodoItemDAO
            {
                Id       = 22,
                Priority = 10
            };

            await Assert.ThrowsAsync <ArgumentException>(() => provider.Create(item));
        }
コード例 #3
0
        public async Task Create_ThrowsExeption_InvalidDeadlineDate()
        {
            ITodoItemProvider provider = new TodoItemProvider(mockContext.Object);
            var item = new TodoItemDAO
            {
                Id           = 22,
                Name         = "TestItem1",
                DeadLineDate = DateTime.UtcNow.Subtract(new TimeSpan(1, 0, 0))
            };

            await Assert.ThrowsAsync <ArgumentException>(() => provider.Create(item));
        }
コード例 #4
0
        public async Task Create_Returns_createdIdAndAddsTodoItem()
        {
            ITodoItemProvider provider = new TodoItemProvider(mockContext.Object);
            var item = new TodoItemDAO {
                Id = 22, Name = "TestTodoItem"
            };

            var addedItemId = await provider.Create(item);

            mockSet.Verify(set => set.Add(It.IsAny <TodoItemDAO>()), Times.Once);
            mockContext.Verify(context => context.SaveChangesAsync(new CancellationToken()), Times.Once);
            Assert.Equal(item.Id, addedItemId);
        }