Example #1
0
        public IDayForResponse Save(IDayForResponse day)
        {
            IDay toBeUpdated = ToDay(day);

            m_Repository.Save(toBeUpdated);

            return(new DayForResponse(toBeUpdated));
        }
        public Response DeleteById(int id)
        {
            IDayForResponse doctor = m_InformationFinder.Delete(id);

            if (doctor == null)
            {
                return(HttpStatusCode.NotFound);
            }

            return(AsJson(doctor));
        }
Example #3
0
        private static IDay ToDay(IDayForResponse dayResponse)
        {
            var day = new Day
            {
                Id       = dayResponse.Id,
                Date     = dayResponse.Date,
                DoctorId = dayResponse.DoctorId
            };

            return(day);
        }
Example #4
0
        private dynamic CreatedExpectedDoctorForUpdate(IDayForResponse day)
        {
            DateTime date = day.Date;

            string json = "{" +
                          "\"Id\":" + day.Id + "," +
                          "\"Date\":\"" + date.ToString(DateTimeFormat) + "\"," +
                          "\"DoctorId\":" + day.DoctorId +
                          "}";

            return(ToDynamic(json));
        }
Example #5
0
        public void FindById_ReturnsNull_ForNotExistingId()
        {
            // Arrange
            var repository = Substitute.For <IDaysRepository>();

            repository.FindById(-1).Returns(( IDay )null);
            InformationFinder sut = CreateSut(repository);

            // Act
            IDayForResponse actual = sut.FindById(-1);

            // Assert
            Assert.Null(actual);
        }
Example #6
0
        public void Delete_ReturnsNull_ForCanNotAdd()
        {
            // Arrange
            var repository = Substitute.For <IDaysRepository>();

            repository.FindById(-1).ReturnsForAnyArgs(( IDay )null);
            InformationFinder sut = CreateSut(repository);

            // Act
            IDayForResponse actual = sut.Delete(DoesNotMatter);

            // Assert
            Assert.Null(actual);
        }
Example #7
0
        private dynamic CreateDayToBeDeleted(Browser browser)
        {
            IDayForResponse model = CreateModelForPutTest();

            BrowserResponse result = browser.Post("/days/",
                                                  with =>
            {
                with.JsonBody(model);
            });

            dynamic actual = ToDynamic(result.Body.AsString());

            return(actual);
        }
Example #8
0
        public void Save_CallsSave_WhenCalled([NotNull] IDayForResponse toBeUpdated,
                                              [NotNull] IDay day)
        {
            // Arrange
            var repository = Substitute.For <IDaysRepository>();

            repository.Save(Arg.Any <IDay>());
            InformationFinder sut = CreateSut(repository);

            // Act
            sut.Save(toBeUpdated);

            // Assert
            repository.Received().Save(Arg.Is <IDay>(x => x.Id == toBeUpdated.Id));
        }
Example #9
0
        public void FindById_ReturnsDay_ForExistingId([NotNull] IDay day)
        {
            // Arrange
            var repository = Substitute.For <IDaysRepository>();

            repository.FindById(day.Id).Returns(day);
            InformationFinder sut = CreateSut(repository);

            // Act
            IDayForResponse actual = sut.FindById(day.Id);

            // Assert
            Assert.Equal(day.Id,
                         actual.Id);
        }
Example #10
0
        public void Delete_ReturnsDeletedDoctor_WhenCalled([NotNull] IDay day)
        {
            // Arrange
            var repository = Substitute.For <IDaysRepository>();

            repository.FindById(-1).ReturnsForAnyArgs(day);
            InformationFinder sut = CreateSut(repository);

            // Act
            IDayForResponse actual = sut.Delete(DoesNotMatter);

            // Assert
            Assert.Equal(day.Id,
                         actual.Id);
        }
Example #11
0
        public void FindByDate_ReturnsResponse_ForKnownDate([NotNull] IDayForResponse slot)
        {
            // Arrange
            var finder = Substitute.For <IInformationFinder>();

            finder.ListForDate(Arg.Any <string>()).Returns(CreateList);
            RequestHandler sut = CreateSut(finder);

            // Act
            Response actual = sut.FindByDate("any date");

            // Assert
            Assert.Equal(HttpStatusCode.OK,
                         actual.StatusCode);
        }
Example #12
0
        public void DeleteById_ReturnsResponse_WhenCalled([NotNull] IDayForResponse doctor)
        {
            // Arrange
            var finder = Substitute.For <IInformationFinder>();

            finder.Delete(doctor.Id).Returns(doctor);
            RequestHandler sut = CreateSut(finder);

            // Act
            Response actual = sut.DeleteById(doctor.Id);

            // Assert
            Assert.Equal(HttpStatusCode.OK,
                         actual.StatusCode);
        }
Example #13
0
        public void FindById_ReturnsResponse_ForKnownId([NotNull] IDayForResponse slot)
        {
            // Arrange
            var finder = Substitute.For <IInformationFinder>();

            finder.FindById(slot.Id).Returns(slot);
            RequestHandler sut = CreateSut(finder);

            // Act
            Response actual = sut.FindById(slot.Id);

            // Assert
            Assert.Equal(HttpStatusCode.OK,
                         actual.StatusCode);
        }
Example #14
0
        public void Save_ReturnsStatusOK_WhenCalled([NotNull] IDayForResponse toBeCreated,
                                                    [NotNull] IDayForResponse created)
        {
            // Arrange
            var finder = Substitute.For <IInformationFinder>();

            finder.Save(toBeCreated).Returns(created);
            RequestHandler sut = CreateSut(finder);

            // Act
            Response actual = sut.Save(toBeCreated);

            // Assert
            Assert.Equal(HttpStatusCode.OK,
                         actual.StatusCode);
        }
Example #15
0
        public void Save_ReturnsUpdatedDoctor_ForExisting([NotNull] IDayForResponse toBeUpdated,
                                                          [NotNull] IDay day)
        {
            // Arrange
            var repository = Substitute.For <IDaysRepository>();

            repository.Save(Arg.Any <IDay>());
            InformationFinder sut = CreateSut(repository);

            // Act
            IDayForResponse actual = sut.Save(toBeUpdated);

            // Assert
            Assert.Equal(toBeUpdated.Id,
                         actual.Id);
        }
Example #16
0
        public void Should_update_database_when_days_is_updated()
        {
            IDayForResponse model = null;
            dynamic         actual;
            dynamic         expected;

            try
            {
                // Given
                Browser browser = CreateBrowser();
                dynamic slot    = CreateDayToBeDeleted(browser);
                model    = CreateModelForUpdateTest(slot);
                expected = CreatedExpectedDoctorForUpdate(model);

                // When
                BrowserResponse result = browser.Put("/days/",
                                                     with =>
                {
                    with.JsonBody(model);
                });

                // Then
                actual = ToDynamic(result.Body.AsString());
            }
            finally
            {
                if (model != null)
                {
                    DeleteDayById(model.Id);
                }
            }

            // Then
            Assert.NotNull(expected);
            Assert.NotNull(actual);

            AssertDay(expected,
                      actual);
        }
        private dynamic CreatedExpectedDoctorForUpdate(IDayForResponse day)
        {
            DateTime date = day.Date;

            string json = "{" +
                          "\"Id\":" + day.Id + "," +
                          "\"Date\":\"" + date.ToString(DateTimeFormat) + "\"," +
                          "\"DoctorId\":" + day.DoctorId +
                          "}";

            return ToDynamic(json);
        }
        public IDayForResponse Save(IDayForResponse day)
        {
            IDay toBeUpdated = ToDay(day);

            m_Repository.Save(toBeUpdated);

            return new DayForResponse(toBeUpdated);
        }
        private static IDay ToDay(IDayForResponse dayResponse)
        {
            var day = new Day
                      {
                          Id = dayResponse.Id,
                          Date = dayResponse.Date,
                          DoctorId = dayResponse.DoctorId
                      };

            return day;
        }
        public Response Save(IDayForResponse doctor)
        {
            IDayForResponse saved = m_InformationFinder.Save(doctor);

            return AsJson(saved);
        }
        public Response Save(IDayForResponse doctor)
        {
            IDayForResponse saved = m_InformationFinder.Save(doctor);

            return(AsJson(saved));
        }