public void ToReadingProgramVM_should_map_all_properties() { // Given var program = _testFactory.NewReadingProgramInfo(); // When var result = program.ToReadingProgramVM(); // Then EarlyLearningAssert.AreEqual(program, result); }
public async Task CreateNewProgram_should_return_program_info_for_new_program() { // Given var children = SetupChildren(); // When var result = await SUT.CreateNewProgram(children, userId, "sv", ReadingProgramType.SingleWords); // Then var inDb = GetReadingProgramForChildren(children); EarlyLearningAssert.AreEqual(inDb, result); }
public async Task CheckTitle_should_return_spelling_for_unknown_word() { // Given var program = _testFactory.AddNewReadingProgram(); var url = baseUrl + "/check-title?title=Nya blomor&programId=" + program.Id; // When var result = await SUT.GetAsync(url); // Then EarlyLearningAssert.HttpResultIsOk(result); var resultData = EarlyLearningAssert.DataInResult <TitleCheckVM>(result); Assert.IsFalse(resultData.Spelling); }
public async Task CheckTitle_should_return_ok_for_unique_category_title_spelled_correctly() { // Given var program = _testFactory.AddNewReadingProgram(); var url = baseUrl + "/check-title?title=Nya blommor&programId=" + program.Id; // When var result = await SUT.GetAsync(url); // Then EarlyLearningAssert.HttpResultIsOk(result); var resultData = EarlyLearningAssert.DataInResult <TitleCheckVM>(result); Assert.IsTrue(resultData.IsOk, "Result was not ok flagged"); }
public async Task GetAllReadingProgramsForUser_should_return_programs() { // Given var programs = new[] { _testFactory.AddNewReadingProgram() }; _testFactory.AddNewReadingProgram("other id"); // When var result = await SUT.GetAsync(baseUrl); // Then EarlyLearningAssert.AreEqual(programs, result); }
public async Task GetCurrent_should_return_categories_that_are_current_on_the_program() { // Given var categories = _testFactory.AddNewWordCategories(5, _programId, new CurrentlyActive()); _testFactory.AddNewWordCategories(programId: "Other id", status: new CurrentlyActive()); _testFactory.AddNewWordCategories(programId: _programId, status: new Planned()); _testFactory.WaitOfIndexesInDocumentStore(); // When var result = await SUT.GetCurrent(); // Then EarlyLearningAssert.AreEqual(categories, result); }
public async Task AddChild_should_return_badRequest_if_childToAdd_isnt_valid() { // Given var childToAdd = new AddChildVM { FirstName = "Adam", LastName = null }; SUT.ModelState.AddModelError("LastName", "Last name required"); // When var result = await SUT.AddChild(childToAdd); // Then EarlyLearningAssert.HttpResultIsBadRequest("Invalid child", result); }
public async Task GetReadingProgramsForUser_should_return_reading_programs_for_current_user() { // Given var programs = new[] { _testFactory.NewReadingProgramInfo(), _testFactory.NewReadingProgramInfo() }; _programManager.Setup(x => x.GetAllProgramsForUser(userId)).ReturnsAsync(programs); // When var result = await SUT.GetReadingProgramsForUser(); // Then EarlyLearningAssert.AreEqual(programs, result); }
public async Task GetAllProgramsForUser_should_return_programs_for_user_in_ravenDb() { // Given var programs = new[] { _testFactory.AddNewReadingProgram(userId), _testFactory.AddNewReadingProgram(userId) }; _testFactory.AddNewReadingProgram(userId + 1); // When var result = await SUT.GetAllProgramsForUser(userId); // Then EarlyLearningAssert.AreEqual(programs, result, EarlyLearningAssert.AreEqual); }
public async Task CheckTitle_should_return_existing() { // Given var program = _testFactory.AddNewReadingProgram(); _testFactory.AddNewWordCategory(program.Id, "Blommor"); var url = baseUrl + "/check-title?title=Blommor&programId=" + program.Id; // When var result = await SUT.GetAsync(url); // Then EarlyLearningAssert.HttpResultIsOk(result); var resultData = EarlyLearningAssert.DataInResult <TitleCheckVM>(result); Assert.IsTrue(resultData.AlreadyExists); Assert.AreEqual("Blommor 2", resultData.Suggestion.ElementAt(0)); }
public async Task GetChildrenForUser_should_return_children_for_user() { // Given var expectedChildren = new[] { await SUT.AddChildForUser("Adam", "Smith", UserId), await SUT.AddChildForUser("Lisa", "Adams", UserId) }; await SUT.AddChildForUser("Nils", "Ericsson", "Other userId"); _testFactory.WaitOfIndexesInDocumentStore(); // When var result = await SUT.GetChildrenForUser(UserId); // Then EarlyLearningAssert.AreEqual(expectedChildren, result, EarlyLearningAssert.AreEqual); }
public async Task GetChildren_should_return_all_children_from_manager() { // Given var children = new[] { _testFactory.NewChild(), _testFactory.NewChild() }; _manager.Setup(x => x.GetChildrenForUser(_testFactory.CurrentUser.UserId)).ReturnsAsync(children); // When var result = await SUT.GetChildren(); // Then EarlyLearningAssert.HttpResultIsOk(result); var actualData = EarlyLearningAssert.DataInResult <IEnumerable <ChildVM> >(result); EarlyLearningAssert.AreEqual(children, actualData, EarlyLearningAssert.AreEqual); }
public async Task AddChild_should_return_child_from_manager() { // Given var childToAdd = new AddChildVM { FirstName = "Adam", LastName = "Smith" }; var child = _testFactory.NewChild("Adam", "Smith"); _manager.Setup(x => x.AddChildForUser("Adam", "Smith", _testFactory.CurrentUser.UserId)) .ReturnsAsync(child); // When var result = await SUT.AddChild(childToAdd); // Then EarlyLearningAssert.HttpResultIsOk(result); EarlyLearningAssert.AreEqual(child, EarlyLearningAssert.DataInResult <ChildVM>(result)); }
public async Task RegisterSession_should_return_ok_for_registered_sessions() { // Given var program = _testFactory.AddNewReadingProgram(); var category = _testFactory.AddNewWordCategory(program.Id); var toRegister = new RegisterReadingSessionVM { ProgramId = program.Id, ChildIds = program.Children, NumberOfSessions = 1, ReadingUnitId = category.Id }; var url = baseUrl + "/register-session"; // When var result = await SUT.PostAsync(url, new StringContent(TestFactory.ToJson(toRegister))); // Then EarlyLearningAssert.HttpResultIsOk(result); }
public async Task GetChildren_should_return_expected_children() { // Given var currentUserId = "abcd-abcd-abcd-abcd"; var children = new[] { _testFactory.AddNewChild("Name 1", "Smith", currentUserId), _testFactory.AddNewChild("Name 2", "Smith", currentUserId) }; _testFactory.AddNewChild("Name 3", "Olson", "1234-1234-1234-1234"); _testFactory.WaitOfIndexesInDocumentStore(); // When var result = await SUT.GetAsync(baseUrl); // Then EarlyLearningAssert.HttpResultIsOk(result); var actualResult = EarlyLearningAssert.DataInResult <ChildVM[]>(result); EarlyLearningAssert.AreEqual(children, actualResult, EarlyLearningAssert.AreEqual); }