public void TestDeleteOK() { //SETUP var options = SqliteInMemory.CreateOptions <ExampleDbContext>(); using (var context = new ExampleDbContext(options)) { context.Database.EnsureCreated(); context.SeedDatabase(); var controller = new ToDoHybridController(); var utData = context.SetupEntitiesDirect(_genericServiceConfig); var service = new CrudServices(context, utData.ConfigAndMapper); //ATTEMPT var response = controller.Delete(2, service); //VERIFY response.GetStatusCode().ShouldEqual(CreateResponse.OkStatusCode); var rStatus = response.CopyToStatus(); rStatus.IsValid.ShouldBeTrue(rStatus.GetAllErrors()); rStatus.Message.ShouldEqual("Successfully deleted a Todo Item Hybrid"); context.TodoItemHybrids.Count().ShouldEqual(5); } }
public void TestJsonPatchOk() { //SETUP var options = SqliteInMemory.CreateOptions <ExampleDbContext>(); using (var context = new ExampleDbContext(options)) { context.Database.EnsureCreated(); context.SeedDatabase(); var controller = new ToDoHybridController(); var utData = context.SetupEntitiesDirect(_genericServiceConfig); var service = new CrudServices(context, utData.ConfigAndMapper); //ATTEMPT var patch = new JsonPatchDocument <TodoItemHybrid>(); patch.Replace(x => x.Difficulty, 5); var response = controller.Update(1, patch, service); //VERIFY response.GetStatusCode().ShouldEqual(CreateResponse.OkStatusCode); var rStatus = response.CopyToStatus(); rStatus.IsValid.ShouldBeTrue(rStatus.GetAllErrors()); rStatus.Message.ShouldEqual("Successfully updated the Todo Item Hybrid"); context.TodoItemHybrids.First().Difficulty.ShouldEqual(5); } }
public async Task TestGetOneNullReturn() { //SETUP var options = SqliteInMemory.CreateOptions <ExampleDbContext>(); using (var context = new ExampleDbContext(options)) { context.Database.EnsureCreated(); context.SeedDatabase(); var controller = new ToDoHybridController(); var utData = context.SetupEntitiesDirect(_genericServiceConfig); var service = new CrudServicesAsync(context, utData.ConfigAndMapper); //ATTEMPT var response = await controller.GetSingleAsync(99, service); //VERIFY response.GetStatusCode().ShouldEqual(CreateResponse.ResultIsNullStatusCode); var rStatus = response.CopyToStatus(); rStatus.IsValid.ShouldBeTrue(rStatus.GetAllErrors()); rStatus.Message.ShouldEqual("The Todo Item Hybrid was not found."); } }
public async Task TestGetManyOk() { //SETUP var options = SqliteInMemory.CreateOptions <ExampleDbContext>(); using (var context = new ExampleDbContext(options)) { context.Database.EnsureCreated(); context.SeedDatabase(); var controller = new ToDoHybridController(); var utData = context.SetupEntitiesDirect(_genericServiceConfig); var service = new CrudServices(context, utData.ConfigAndMapper); //ATTEMPT var response = await controller.GetManyAsync(service); //VERIFY response.GetStatusCode().ShouldEqual(CreateResponse.OkStatusCode); var rStatus = response.CopyToStatus(); rStatus.IsValid.ShouldBeTrue(rStatus.GetAllErrors()); rStatus.Result.Count.ShouldEqual(6); } }
public void TestDeleteNotFound() { //SETUP var options = SqliteInMemory.CreateOptions <ExampleDbContext>(); using (var context = new ExampleDbContext(options)) { context.Database.EnsureCreated(); context.SeedDatabase(); var controller = new ToDoHybridController(); var utData = context.SetupEntitiesDirect(_genericServiceConfig); var service = new CrudServices(context, utData.ConfigAndMapper); //ATTEMPT var response = controller.Delete(99, service); //VERIFY response.GetStatusCode().ShouldEqual(CreateResponse.ErrorsStatusCode); var rStatus = response.CopyToStatus(); rStatus.IsValid.ShouldBeFalse(); rStatus.GetAllErrors().ShouldEqual("Sorry, I could not find the Todo Item Hybrid you wanted to delete."); } }