public void Delete_ExistingEntry_RemovedFromPhoneBook()
        {
            FakePhoneBookRepository repository = new FakePhoneBookRepository();
            PhoneBookService service = new PhoneBookService(repository) { GetUserId = () => 1 };

            repository.phoneBook.Add(new PhoneBook { Id = 1, UserId = service.GetUserId() });
            BaseResponse response = service.Delete(new DeletePhoneBookRequest { Id = 1 });

            Assert.AreEqual(0, repository.phoneBook.Count());
        }
        public void Edit_ExistingEntryInPhoneBookBelongingToDifferentUser_ResponseStatusSetTo1()
        {
            FakePhoneBookRepository repository = new FakePhoneBookRepository();
            PhoneBookService service = new PhoneBookService(repository) { GetUserId = () => 1 };
            repository.phoneBook.Add(new PhoneBook { UserId = service.GetUserId() + 1, Id = 1 });

            BaseResponse response = service.Edit(new EditPhoneBookRequest { Id = 1 });

            Assert.AreEqual(1, response.Status);
        }
        public void Create_SimpleValues_AddedToPhoneBook()
        {
            FakePhoneBookRepository repository = new FakePhoneBookRepository();
            PhoneBookService service = new PhoneBookService(repository) { GetUserId = () => 1 };

            service.Create(new CreatePhoneBookRequest { FirstName = "Adam", LastName = "Kowalski", Number = "123456", PhoneTypeId = 1});

            Assert.AreEqual(1, repository.phoneBook.Count());
            Assert.AreEqual("Adam", repository.phoneBook.First().FirstName);
            Assert.AreEqual("Kowalski", repository.phoneBook.First().LastName);
            Assert.AreEqual("123456", repository.phoneBook.First().Number);
            Assert.AreEqual(1, repository.phoneBook.First().PhoneTypeId);
            Assert.AreEqual(service.GetUserId(), repository.phoneBook.First().UserId);
        }
        public void Edit_ExistingEntry_UpdatedInPhoneBook()
        {
            FakePhoneBookRepository repository = new FakePhoneBookRepository();
            PhoneBookService service = new PhoneBookService(repository) { GetUserId = () => 1 };

            repository.phoneBook.Add(new PhoneBook { Id = 1, UserId = service.GetUserId() });
            BaseResponse response = service.Edit(new EditPhoneBookRequest { Id = 1, FirstName = "First", LastName="Last", Number="123456", PhoneTypeId=2 });

            Assert.AreEqual(1, repository.phoneBook.First().Id);
            Assert.AreEqual("First", repository.phoneBook.First().FirstName);
            Assert.AreEqual("123456", repository.phoneBook.First().Number);
            Assert.AreEqual(2, repository.phoneBook.First().PhoneTypeId);
        }