public async Task TestA() { var mock = new MockDataV3(); mock.Reset(); var serviceProvider = new ServiceCollection() .AddTransient <IFlashcardProgressRepo, FlashcardProgressRepo>() .AddDbContext <AppDbContext>(options => options.UseSqlServer(MockDatabaseFactory.DbMockConnectionString)) .AddMediatR(typeof(MediatREntryPoint).Assembly) .BuildServiceProvider(); var mediator = serviceProvider.GetService <IMediator>(); var getRandomExpiredFlashcardQ = new GetRandomExpiredFlashcardQ("9a4e1d79-d64e-4ec4-85e5-53bdef5043f4"); var expectedReponses = new List <Guid>() { Guid.Parse("9884d783-427d-45d4-a1df-facaf81729f5"), Guid.Parse("2c083f4e-fdce-4c67-8ca7-e3c5d1b40d4e"), Guid.Parse("021fc2e4-e2cf-4120-a1af-df918ecad194") }; var expectedReponsesNotContains = new List <Guid>() { Guid.Parse("594b1485-e842-482f-9b09-a649cb72bdb1"), Guid.Parse("91b5ae74-6197-449f-a4ef-c81068179822"), Guid.Parse("a6d821a0-75fd-4152-af8f-03fa17796430") }; for (int i = 0; i < 100; i++) { var response = await mediator.Send(getRandomExpiredFlashcardQ); Assert.Contains(response.FlashcardProgressId, expectedReponses); Assert.DoesNotContain(response.FlashcardProgressId, expectedReponsesNotContains); } }
public async Task TestC() { var mock = new MockDataV3(); mock.Reset(); var serviceProvider = new ServiceCollection() .AddTransient <IFlashcardProgressRepo, FlashcardProgressRepo>() .AddTransient <IStatsUserRepo, StatsUserRepo>() .AddDbContext <AppDbContext>(options => options.UseSqlServer(MockDatabaseFactory.DbMockConnectionString)) .AddMediatR(typeof(MediatREntryPoint).Assembly) .BuildServiceProvider(); var mediator = serviceProvider.GetService <IMediator>(); var updateFlashcardProgressC = new UpdateFlashcardProgressC(Guid.Parse("9884d783-427d-45d4-a1df-facaf81729f5"), FlashcardProgress.Know, "9a4e1d79-d64e-4ec4-85e5-53bdef5043f4"); var actionResponse = await mediator.Send(updateFlashcardProgressC); using (var db = MockDatabaseFactory.Build()) { var flashcardProgressModel = await db.FlashcardProgresses.FirstOrDefaultAsync(e => e.Id == Guid.Parse("9884d783-427d-45d4-a1df-facaf81729f5")); Assert.Equal(1, flashcardProgressModel.CorrectInRow); Assert.Equal(DateTime.Now.Date.AddDays(1), flashcardProgressModel.PracticeDate); } }
public async Task TestB_FlashcardOfIdNotExists() { var mocker = new MockDataV3(); mocker.Reset(); _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjlhNGUxZDc5LWQ2NGUtNGVjNC04NWU1LTUzYmRlZjUwNDNmNCIsIm5iZiI6MTYxOTc2OTYzOCwiZXhwIjoxNjE5ODU2MDM4LCJpc3MiOiJhIn0.tohmUFgbnXqaMoehSX9i-p_F6vpdoziu9Jz5XgM1N1k"); var insertDTO = new FlashcardUpdateModel() { Id = Guid.Parse("00003ba0-1396-428f-adb7-d7ab972459eb"), Foreign = "foreign new", Native = "native new" }; var response = await _client.PutAsync("api/flashcard/update", new StringContent(JsonConvert.SerializeObject(insertDTO), Encoding.UTF8, "application/json")); Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); using (var db = MockDatabaseFactory.Build()) { Assert.Equal("Foreign 1", (await db.Flashcards.FirstOrDefaultAsync(e => e.Id == Guid.Parse("6aa83ba0-1396-428f-adb7-d7ab972459eb"))).Foreign); Assert.Equal("Native 1", (await db.Flashcards.FirstOrDefaultAsync(e => e.Id == Guid.Parse("6aa83ba0-1396-428f-adb7-d7ab972459eb"))).Native); } }
public async Task TestB() { var mocker = new MockDataV3(); mocker.Reset(); var flashcardProgressRepo = BuildUnitForTests(); var output = await flashcardProgressRepo.GetAllUserFlashcards("fcabcb46-12dc-4013-bc92-6f00aae903b4"); Assert.Empty(output); }
public async Task TestA() { var mocker = new MockDataV3(); mocker.Reset(); var flashcardProgressRepo = BuildUnitForTests(); var output = await flashcardProgressRepo.GetAllUserFlashcards("9a4e1d79-d64e-4ec4-85e5-53bdef5043f4"); Assert.Equal(6, output.Count()); }
public async Task TestC() { var mocker = new MockDataV3(); mocker.Reset(); _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjlhNGUxZDc5LWQ2NGUtNGVjNC04NWU1LTUzYmRlZjUwNDNmNCIsIm5iZiI6MTYxOTc2OTYzOCwiZXhwIjoxNjE5ODU2MDM4LCJpc3MiOiJhIn0.tohmUFgbnXqaMoehSX9i-p_F6vpdoziu9Jz5XgM1N1k"); var response = await _client.GetAsync("api/practice/updateflashcardprogress/594b1485-e842-482f-9b09-a649cb72bdb1/1"); Assert.Equal(HttpStatusCode.OK, response.StatusCode); await Task.Delay(1000 * 5); using (var db = MockDatabaseFactory.Build()) { var flashcardProgressModel = await db.FlashcardProgresses.FirstOrDefaultAsync(e => e.Id == Guid.Parse("594b1485-e842-482f-9b09-a649cb72bdb1")); Assert.Equal(3, flashcardProgressModel.CorrectInRow); Assert.Equal(DateTime.Now.Date.AddDays(3), flashcardProgressModel.PracticeDate); } }
public async Task TestB_UserNotOwnCollection() { var mocker = new MockDataV3(); mocker.Reset(); _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjlhNGUxZDc5LWQ2NGUtNGVjNC04NWU1LTUzYmRlZjUwNDNmNCIsIm5iZiI6MTYxOTc2OTYzOCwiZXhwIjoxNjE5ODU2MDM4LCJpc3MiOiJhIn0.tohmUFgbnXqaMoehSX9i-p_F6vpdoziu9Jz5XgM1N1k"); var inputDTO = new CollectionUpdateModel() { Id = Guid.Parse("82c3a0d1-a73c-41e2-a8f3-ef525e5f0ffa"), Name = "name" }; var response = await _client.PutAsync("api/collection/update", new StringContent(JsonConvert.SerializeObject(inputDTO), Encoding.UTF8, "application/json")); Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); using (var db = MockDatabaseFactory.Build()) { Assert.Equal("User 2 Name 2", db.Collections.FirstOrDefault(e => e.Id == Guid.Parse("82c3a0d1-a73c-41e2-a8f3-ef525e5f0ffa")).Name); } }