public void PostIsEmpty_NoOperationPerformed()
        {
            var wrapperMock = fixture.Freeze <Mock <IWordPressClientWrapper> >();

            sut = fixture.Create <ApiWeeklySummaryGenerator>();
            sut.Save();
            wrapperMock.Verify(w => w.Post(It.IsAny <WeeklySummaryPost>(), It.IsAny <string>(), It.IsAny <DateTime>()), Times.Never);
        }
        public void HappyPath_NoOperationPerformed()
        {
            var wrapperMock = fixture.Freeze <Mock <IWordPressClientWrapper> >();

            sut = fixture.Create <ApiWeeklySummaryGenerator>();
            sut.CreateWeeklySummaryDescription(fixture.Create <List <Episode> >());
            sut.Save();
            wrapperMock.Verify(w => w.Post(It.IsAny <WeeklySummaryPost>(), It.IsAny <string>(), It.IsAny <DateTime>()), Times.Once);
        }
        public void Setup_ClientIsCreatedAndAuthenitcated()
        {
            //todo maybe this test should aslo mock options - revistit it in future
            var wrapperMock = fixture.Freeze <Mock <IWordPressClientWrapper> >();

            wrapperMock.Setup(a => a.CreateClient(It.IsAny <string>())).Returns(wrapperMock.Object);
            wrapperMock.Setup(a => a.Authenticate(It.IsAny <string>(), It.IsAny <string>())).Returns(wrapperMock.Object);
            sut = fixture.Create <ApiWeeklySummaryGenerator>();

            wrapperMock.Verify(w => w.CreateClient(It.IsAny <string>()), Times.Once);
            wrapperMock.Verify(w => w.Authenticate(It.IsAny <string>(), It.IsAny <string>()), Times.Once);
        }