public async Task LimpingTestGet() { using (var scope = _fixture.Server.Host.Services.CreateScope()) { var databaseFixture = scope.ServiceProvider.GetRequiredService <DatabaseFixture>(); var context = databaseFixture.Context; await AddDefaultDataForLimping(context); var service = scope.ServiceProvider.GetRequiredService <ILimpingTestsService>(); var limpingTest = new LimpingTest { AppUserId = "1", Date = DateTime.Now, TestAnalysis = new TestAnalysis(), TestData = _data, }; context.LimpingTests.Add(limpingTest); await context.SaveChangesAsync(); var foundTest = await service.GetById(limpingTest.Id); // The user was found testing Assert.Equal(limpingTest.Id, foundTest.Id); // Null if user doesn't exist var nullTest = await service.GetById(Guid.NewGuid()); Assert.Null(nullTest); // Returns user if it was created var testsOfUser = await service.GetUserTests("1"); Assert.Single(testsOfUser); } }
public async Task LimpingTestDelete() { using (var scope = _fixture.Server.Host.Services.CreateScope()) { // Setup var databaseFixture = scope.ServiceProvider.GetRequiredService <DatabaseFixture>(); var context = databaseFixture.Context; await AddDefaultDataForLimping(context); var service = scope.ServiceProvider.GetRequiredService <ILimpingTestsService>(); var limpingTest = new LimpingTest { AppUserId = "1", Date = DateTime.Now, TestAnalysis = new TestAnalysis(), TestData = _data, }; context.LimpingTests.Add(limpingTest); await context.SaveChangesAsync(); // Test deletion works await service.DeleteTest(limpingTest.Id); Assert.Equal(_data, limpingTest.TestData); var nullTest = await context.LimpingTests.FindAsync(limpingTest.Id); // Assure it is deleted from db Assert.Null(nullTest); // You cannot delete it twice await Assert.ThrowsAnyAsync <Exception>(() => service.DeleteTest(limpingTest.Id)); } }
public async Task LimpingTestEdit() { using (var scope = _fixture.Server.Host.Services.CreateScope()) { // Setup var databaseFixture = scope.ServiceProvider.GetRequiredService <DatabaseFixture>(); var context = databaseFixture.Context; await AddDefaultDataForLimping(context); var service = scope.ServiceProvider.GetRequiredService <ILimpingTestsService>(); var limpingTest = new LimpingTest { AppUserId = "1", Date = DateTime.Now, TestAnalysis = new TestAnalysis(), TestData = _data, }; context.LimpingTests.Add(limpingTest); await context.SaveChangesAsync(); var newTestData = "{numbers: [1,2]}"; var edited = await service.EditTest(limpingTest.Id, newTestData, GetTestAnalysis()); // Test editing works Assert.Equal(newTestData, edited.TestData); // You cannot edit what doesn't exist await Assert.ThrowsAnyAsync <Exception>(() => service.EditTest(Guid.NewGuid(), "{numbers: [1, 2, 3]}", GetTestAnalysis())); } }
public LimpingTestDto(LimpingTest test) { Id = test.Id; Date = test.Date; TestData = test.TestData; AppUserId = test.AppUserId; }
public async Task <LimpingTest> InsertTest(string userId, string testData, TestAnalysis testAnalysis) { var limpingTest = new LimpingTest { AppUserId = userId, TestData = testData, Date = DateTime.Now, TestAnalysis = testAnalysis }; _context.LimpingTests.Add(limpingTest); await _context.SaveChangesAsync(); return(limpingTest); }
private async Task <IServiceScope> CreateScopeWithLimpingTestAsync() { var scope = await CreateScopeWithUserAsync(); var limpingTestsService = scope.ServiceProvider.GetRequiredService <ILimpingTestsService>(); _defaultLimpingTest = await limpingTestsService.InsertTest(_defaultUser.Id, "{'a': 'b'}", new TestAnalysis { Description = "Good result", EndValue = 2, LimpingSeverity = LimpingSeverityEnum.Low, }); return(scope); }
public GetLimpingTestResponse(LimpingTest test, Link selfLink = null) : base(new LimpingTestDto(test)) { if (selfLink == null) { this.AddLinks( LinkGenerator.LimpingTests.GetSingle(test.Id.ToString(), "self") ); } else { this.AddLinks(selfLink); } this.AddLinks( LinkGenerator.LimpingTests.GetSingle(test.Id.ToString()), LinkGenerator.LimpingTests.Edit(test.Id.ToString()), LinkGenerator.LimpingTests.Delete(test.Id.ToString()), LinkGenerator.LimpingTests.GetAll(), LinkGenerator.Analysis.GetSingle(test.TestAnalysis?.Id.ToString() ?? test.TestAnalysisId.ToString()), LinkGenerator.Users.GetSingle(test.AppUserId) ); }