Exemple #1
0
        public void AddValidDataTest()
        {
            _wordServiceMock.Setup(w => w.AddAsync(It.IsAny <WordModel>()))
            .Returns(Task.FromResult(0));

            var addAction = _wordController.Add(_word);

            addAction.Wait();

            var result = addAction.Result as OkResult;

            result.StatusCode.Should().Be(200);
        }
        public void If_MwWordId_Is_Already_In_Collection_Do_Not_Add()
        {
            // Get a collection Id to add to
            var collectionId = 1;

            // Spoof an authenticated user by generating a ClaimsPrincipal
            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] {
                new Claim(ClaimTypes.NameIdentifier, "FIREBASE_USER1"),
            }, "TestAuthentication"));

            // create a new Word
            var word = new Word()
            {
                UserId       = 1,
                CollectionId = collectionId,
                MwWordId     = "1234", // Already in db
            };

            // Spoof UserController
            var controller = new WordController(_fakeUserRepo.Object, _fakeWordRepo.Object);

            controller.ControllerContext             = new ControllerContext(); // Required to create the controller
            controller.ControllerContext.HttpContext = new DefaultHttpContext {
                User = user
            };                                                                                 // Pretend the user is making a request to the controller

            // Attempt to add word
            var response = controller.Add(collectionId, word);

            // Returns Ok
            Assert.IsType <BadRequestResult>(response);
            _fakeWordRepo.Verify(r => r.Add(It.IsAny <Word>()), Times.Never());
        }
        public void User_Can_Add_Word_To_Collection()
        {
            // Get a collection Id to add to
            var collectionId = 1;

            // Spoof an authenticated user by generating a ClaimsPrincipal
            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] {
                new Claim(ClaimTypes.NameIdentifier, "FIREBASE_USER1"),
            }, "TestAuthentication"));

            // create a new Word
            var word = new Word()
            {
                UserId       = 1,
                CollectionId = collectionId,
                MwWordId     = "12345",
            };

            // Spoof UserController
            var controller = new WordController(_fakeUserRepo.Object, _fakeWordRepo.Object);

            controller.ControllerContext             = new ControllerContext(); // Required to create the controller
            controller.ControllerContext.HttpContext = new DefaultHttpContext {
                User = user
            };                                                                                 // Pretend the user is making a request to the controller

            // Attempt to add word
            var response = controller.Add(collectionId, word);

            // Returns Ok
            Assert.IsType <OkObjectResult>(response);
        }
Exemple #4
0
        static void InitialVocabulary()
        {
            Console.WriteLine("Initializing Vocabulary!");

            using (var stream = File.Open("../../../vocabulary.xls", FileMode.Open, FileAccess.Read))
            {
                System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);

                int t = 0;

                using (var reader = ExcelReaderFactory.CreateReader(stream))
                {
                    WordController wordController = new WordController();

                    do
                    {
                        while (reader.Read())
                        {
                            string word    = reader.GetString(0);
                            string meaning = reader.GetString(1);

                            string answer = Meaning2Answer(meaning);

                            Word newWord = new Word
                            {
                                word    = word,
                                meaning = meaning.Replace('\n', ' '),
                                answer  = answer
                            };

                            wordController.Add(newWord);

                            Console.WriteLine("#" + t.ToString() + " done");
                            t++;
                        }
                    } while (reader.NextResult());
                }
            }
        }