[InlineData("600e0400-3c00-0000-3000-020050000001", "Football", "", TodoStatus.InProgress, "2020-05-15T14:29:15.1823029Z", "2020-05-19T21:00:00.0000000Z")] // without Description public void GivenNotExistedId_Update_DoesNothing(string id, string title, string description, TodoStatus status, string createdOn, string dueDate) { //arrange var todo = new TodoModel() { Id = Guid.Parse(id), Title = title, Description = description, Status = status, CreatedOn = DateTime.Parse(createdOn), DueDate = DateTime.Parse(dueDate) }; var repo = new Xml.TodoRepository(MockXmlContext.Object); //act todo.Title = "Concert"; todo.Description = "Go to Metallica concert"; repo.Update(todo); //assert var all = Container.Elements(); var element = all.FirstOrDefault(a => a.Attribute("Id").Value == todo.Id.ToString()); Assert.Null(element); }
[InlineData("a00e0400-3000-0000-3000-000050000001", "Football", "", TodoStatus.InProgress, "2020-05-15T14:29:15.1823029Z", "2020-05-19T21:00:00.0000000Z")] // without Description public void GivenValidEntity_Update_UpdateEntity(string id, string title, string description, TodoStatus status, string createdOn, string dueDate) { //arrange var todo = new TodoModel() { Id = Guid.Parse(id), Title = title, Description = description, Status = status, CreatedOn = DateTime.Parse(createdOn), DueDate = DateTime.Parse(dueDate) }; var todoAsElement = EntityToElement(todo); Container.Add(todoAsElement); var repo = new Xml.TodoRepository(MockXmlContext.Object); //act todo.Title = "Concert"; todo.Description = "Go to Metallica concert"; repo.Update(todo); //assert var all = Container.Elements(); var element = all.First(a => a.Attribute("Id").Value == todo.Id.ToString()); Assert.Equal(todo.Id.ToString(), element.Attribute("Id").Value); Assert.Equal(todo.Title, element.Element("Title").Value); Assert.Equal(todo.Description, element.Element("Description").Value); Assert.Equal(todo.Status.ToString(), element.Element("Status").Value); Assert.Equal(todo.CreatedOn.ToUniversalTime().ToString("o", CultureInfo.InvariantCulture), element.Element("CreatedOn").Value); Assert.Equal(todo.DueDate.ToUniversalTime().ToString("o", CultureInfo.InvariantCulture), element.Element("DueDate").Value); }
public void GivenInvalidTodoEntity_Update_ThrowsException(string title, string description, TodoStatus?status, string createdOn, string dueDate) { var repo = new Xml.TodoRepository(MockXmlContext.Object); var todo = new TodoModel() { Title = title, Description = description, Status = status, CreatedOn = DateTime.Parse(createdOn), DueDate = DateTime.Parse(dueDate) }; todo.Title = ""; todo.Description = "Go to Metallica concert"; var ex = Assert.Throws <ArgumentException>(() => repo.Update(todo)); Assert.Equal("Empty todo!", ex.Message); }