What's up everybody, Jason here for JaspysCaseBrace.com. We just sold out 22 Panini Clarity Donor's Football, eight box half-case break, pregnancy is number four. This is the second half of the case. And here are the customer names. You have a character sign, an easy one left from a filler. Everybody else bought in straight up. Thank you guys so much. So we do have another two picker teams in the store. That most likely would probably go into a filler as well. But the teams are still available straight up if anybody's interested, of course. It'll be a fresh case. But I've been really impressed guys. I've always liked Clarity Donor's. I just think the first couple of years the quality was a little bad. A lot of surface scratches and stuff like that. But it seems like this year they definitely made it a lot better. Incorporated a little bit more color even though it's a little clear still, obviously. But the color looks nice and so far the cards look pretty solid. And much better price point, obviously. I mean, I know the draft class has to do with it. Although I think this draft class is not bad at all. But they have a good mix of obviously case hits and super short printed cards amongst obviously rookies and good vet cards as well. At least they brought back the retro rated rookies as well which is really nice. And all in all, it's not a bad box. It's like 125, 130 a box. You get one auto, potentially another numbered card and some rookies inserts. Pretty solid actually. Thing we juniored in 99 for the Houston Texan that's pretty nice. I'd have to take ice, man. Mix of the acetate. Although the last year they made ice it wasn't even acetate anymore. It was like more foil. But you know, 2017 ice, right? With like the exquisite in there the ice premier patch autographs to 10. Those are beautiful cards. Matthew Stafford, I'd take ice all day. Old school ice at least. Champion set, that's a cool one right there. Little Aaron Rajas. That's a new little set right there. And Rajas Greenby Packers, Margell. Brick London, little rated rookie. Autograph, Falcons Brando down. Another Derek Stingley junior. This time it's just a rookie to 99 for Houston. Who else Houston this time? John does. Numbered there were Michael Parsons for the Cowboys. And Super Bowl champs, insert. Joe Montaignea for Ryan Nicholas with that one. Wonder how much these are gonna go for because they're kind of cool. Penny Pickett, Damian Pierce. Yeah, right? No, yeah, definitely I think like 2017 ice and stuff like that. Matthew's year was pretty cool. The earlier years. I mean, I think McDavid's year was nice too. Najee. That's right, they would have level ones to 99, level twos to like one 99, two 99 and then out of 999 or something like that. Pintward, crazy. Got ejected from the game. Zoukama to 75. Vilas Jones Jr. to 175. But I didn't even know what happened. What happened with Dylan Brooks? Reese Hall Red to 49. Jets, Ryan Emerson with that one. Who's gonna lock down LeBron now? Travis Kelsey to 25. Like hit LeBron's hand? What? I gotta see this replay. Well, Memphis is still hitting threes though. This lead that was once 29 is now cut down to 14. Clear cut was a cool one for sure. But I would consider it like a repack too, right? Cause it was kind of like buy back cards from like Splendor and other products. That was cool too. But yeah, Ice Hockey from like 2016, 2017. You would get like sick, exquisite cards in there of course. You would get like the premier Ice Premier to 99. You would get like the RPAs to 10, which were fricking awesome patches. It was sweet. I think I actually have a level two Kempe to 299, I wanna say. I wanna say it was like level one to 99, level two to 299, level three to 999. And then like level four was like 1299 or something like that. So if you were like a level one, you were obviously one of the better players. Level two were pretty good just to make the cut, et cetera. I remember 15, 16 upper deck buy back hockey. That was fun. That was pretty cool. And then I think they brought it back like either in 2019 or something like that, 2020, one of those years. All right, here we go guys. Yeah, I think, yeah, I think Mike is right, Contenders does that too. They also did, Contenders also did metal plates this year. Tyler Algier, autograph for the Falcons going to Brandon. Ooh, what is this? Spark, wow. I was like, what is this sparkle I see here? It's a one of one Kenneth Walker. That is so sweet. Ryan Barton who got the Seahawks in number four in a filler. That is pretty darn sweet. That is awesome. Seahawks had a good break all in all guys. Seahawks had a really nice autographed number to a 75 green. I'll get a one of one. Nice. That's like also color matched too. It looks like, I think there's two card stuff here. Oh, don't tell me Anthony Davis all injured already. What happened though? He ran into some camera people. Danny Gray to 75. That's 49ers, Nicholas. Bailey Zappi rookie. You got a Rogers to 175. Spray and his eyebrows. Oh, that guy, man, I swear to God. Champions, a little Terry Bradshaw, like Beluchi. It looked like he took a big shot though from one of the fans. So I guess, I guess it wasn't just like nothing, but Taekwondo Thornton, Patriots that's going to Japan. And how about a little numbered Patty Mahomes to 75. All right, guys, done with the final block. So we haven't hit the craziest autos, but we did get a one on one. So that kind of helps a lot. Yeah, well, there we go. Spoke too soon. Nice sauce. Sauce Gardner, 67 out of 99 for the Jets, Jets, Jets, Ryan Emerson. There you go. A lobby base, yeah, it's just base. John and Taylor to 25. I don't know if that's weird. It's kind of more. Pierre Strong Jr. Malik. Alrighty, guys. So let me talk about these last couple autographs here and then we'll do a quick recap. This $200 stuff, guys, is really, really nice, man. Much better this year. Stickers on them. And there's clearly Donners. And there's one without a sticker. Yeah, you can take the one without a sticker. All right, so Tyler Allerger, auto. Danny Gray, Taekwondo Thornton. Champion sets, which look really cool, right? Breece Hall, that was the kind of auto for the top of that one. We have a nice Steric Stingley, little Raider Rookie Auto, Drake London. Sauce, another champion set there. And then we got a one-on-one Kenneth Walker Raider Rookie. So that's pretty cool. And a ton of numbered cards here as well that we'll top load as well. And yeah, I've sleeved up a lot of rookies, of course, some of the bigger rookies. Just protect some of those cards there and then obviously mix it in. Couple of nice stuff here, too. Yeah, all in all, guys. Like I said, this product is very nice. Definitely get into the next ones, guys. Appreciate it. Jaspyscasebricks.com.


Welcome, everyone, to gaining confidence with Cypress Tests. Here's the part where I tell you I am definitely going to post the slides on my site tonight, and it's never worked out for me very well either. You can head to robrich.org right now, click on Presentations right here at the top, and here's gaining confidence with Cypress Tests. The code and the slides are online right now. Here's the code up on GitHub. While we're here on robrich.org, let's click on About Me, and we'll see some of the things that I've done recently. I'm a Microsoft MVP, a Docker captain, a friend of Redgate, and a Cyro developer advocate. AZ GiveCamp is really fun. AZ GiveCamp brings volunteer developers together with charities to build free software. We start Friday after work, Sunday afternoon, we deliver completed software to the charities. Sleep is optional caffeine provided. If you're in Phoenix, come join us for the next AZ GiveCamp, or if you'd like a GiveCamp here in Boston or wherever you're connecting from. Hit me up on email or on Twitter, and let's get a GiveCamp in your neighborhood too. I do a lot with testing and with JavaScript. I worked on the Gulp team in version two and version three, and one of the things I'm particularly proud of, I replied to a .NET Rocks podcast episode. They read my comments on the air, and they sent me a mug, woo-hoo! So let's dig in to Cypress testing. Now, I'm not quite sure if this demo is gonna work, so let me see if my site is gonna work well today. Let's fire up this suite and see if this site will behave. It's looking good so far. We got our TypeScript build. Yep, it looks like the site is doing okay. So this'll be a fun talk. Yeah, the site is working. Great. So Cypress. Cypress is browser-based functional tests or said differently, end-to-end tests. End-to-end tests, pardon me. It's an electron app and a browser plugin. It uses Mocha and Chai, and so if you've tested in JavaScript before, this may feel right at home. Like many good stories, we started in the middle. Let's start back at the beginning and talk about web testing. So when we look about web testing, there's lots of different tests that we may want to do. We may want to validate that this little piece of functionality works. We may want to test that this component will render correctly. We may want to test that this works in this particular browser. We may want to test backend APIs. As we look at testing each of these things, we'll use different tools to be able to accomplish these tasks. Now, as we're testing, we want some of each of these tests. So we'll probably use multiple tools for testing. As you grab these slides from robrich.org, you can click on each of these blue links to get to the details for that particular project. So first up, if I'm doing a unit test, now unit testing a service, I don't mean a web service or a component, but rather a small piece of business functionality. I can write a unit test with that with just regular Mocha and Chai or Jest. When I get those unit tests and I want to validate them in a particular browser, then that's where Karma is really helpful. Karma allows me to launch these tests inside of a browser and validate that they'll work in each environment. Now that we have HTML5, browser compatibility is less of a concern, but Karma is a great tool there.  Now, there's a TestUtils instance for Angular, React, and View and others. So I can be able to mount my web components and either choose to render out my child components or to stub them with Fakes. If I want to test my API, I don't need a browser at all. I can just make requests to that API. Is it a REST API, GraphQL, or GRPC API? I can just make requests to it, validate the status code and the response, and that's how I can prove my tests. Super test is great for that. As we look at end-to-end tests, we have lots of choices. Cypress is one of them, but we also have Selenium, Test Cafe, and Playwright. Let's double click into end-to-end tests and take a look at each of these. Selenium is kind of the one that invented this criteria, this mechanism of end-to-end testing, and it's still the beefiest in this space. WebDriver has become more or less a browser standard, so with WebDriver technology inside of Selenium, you can test most any browser. Now, it is at arm's length type of test, and so really all it's doing is moving the mouse and clicking buttons. It doesn't really have very deep integration into the system, so you'll probably add a whole lot of weights in this system. If the DOM element isn't there, maybe the service is slow, then we'll wait a little bit more. If ever you have flaky tests, you're probably increasing that timeout, making the tests slower, so Selenium is known for slow and brittle tests. Next up, Cypress. Now, the beauty of Cypress is that browser plug-in so we can look more deeply into the content in the browser. Rather than waiting for a certain period of time, if an event happens, we can trigger right away. That's perfect. Now, Cypress being a browser plug-in requires that it have access to that particular browser. So right now Cypress works with Chrome and Chromium-based Edge and Firefox, but it doesn't work with Safari. So that's mostly a Safari thing. Cypress has a really elegant mechanism because it works great with Mocha and Chai, but I find its query syntax a little bit weird. It uses jQuery-like syntax, and so with jQuery you have a dot then, but it isn't a promise-based thing where you could await it.  Next up, Test Cafe. If you're using DevExpress for other things, you may feel right at home here. Now, the cool part is as you're selecting content from the browser, you can use standard CSS mechanisms, but it does spend a lot of time marshaling that browser content back and forth between the test. So you may write a method that it will inject in the page to be able to get at state, where with Cypress, you didn't need to do any of this marshaling process. Next up, Playwright. Now Playwright is built by the people who built Puppeteer, and if you've ever done any browser automation with Puppeteer, you'll feel right at home. Now it does feel like the assertion syntax is a little bit of a bolt-on here, but the cool part is that this project has lots of different languages. So if you want to build your tests in C-sharp or Python or Go, you definitely can, where with Cypress, you're writing in JavaScript or TypeScript. Again, you're marshaling content between the page and the browser to make this happen, and that's the nature of Puppeteer as well. So we've taken a look at various tools and we'll probably use many of these. I'll probably use Mocha with Chai or Jest for my unit tests. I'll want to run those unit tests in various browsers, so I'll also use Karma. I'll also want to test my API, so I'll use Supertest. I'll want to validate that my web components render correctly, so I'll use TestUtils. And then finally, I'll use end-to-end tests that validate the user experiences. So in this case, let's use Cypress. Getting started with Cypress, I'll just say npm install Cypress and then npxCypress open. Now, once I've done that, it will actually scaffold out a bunch of automated tests in their kitchen sync environment that allows me to see the various syntax of Cypress. So I've already got Cypress pulled up here and we can see all of those example tests right here. That's great. We could run each one by clicking on it and that will run only those tests. I'm gonna close this example folder. So, or we could come in here and run all the tests at once. Now, this is just the IDE. There's also a command line interface as well. I can choose what browser I want to run them in. Right now, I'm running them in Chrome, but I also have Firefox and Edge installed on my machine, so it discovered those and let me pick from those as well. It's telling me that I have a Chrome-specific setting in here. It also has Electron here. Now, this is a Chromium-based webkit browser that allows me to run the test just with the Cypress install if I didn't have any other browsers on my machine. Now, in this case, I'll run them in Chrome and I'll pop open this to do MVC test and let's take a look at how this test runs. Now, it does start a new instance of the browser and it doesn't use my current profile. So you'll notice that here's my regular Chrome browser and here's the browser that it's using to run the test. That means all of my history, my plugins, my user selections don't bleed into the tests that I'm running. Now, with each test, it's gonna go run the steps of that test, but you'll notice that it's running it inside of a browser and kind of iframing this side of the site into place. Now, this is just running content in the browser so I can switch windows or I can run multiple tests simultaneously. Looks like all those tests have passed. I can take a look at each step in the test and it will show me the content at that step. So it was trying to find this new to-do box and we can see this red dot showing where it chose to click in that box. And it's also doing both the before and after. It typed this content and so after we had some to-do. Now, this is a browser so I'm gonna open the F12 developer tools, flip over the console and we can see at each stage, it will actually show me the console output at that stage together with a lot of context inside of Cyprus. That's really powerful. Now, the other added benefit is if I flip over to the sources view, I can see my tests and I can set a break point. If I chose to rerun my tests, then I would hit that break point and I can just step through my code like I would any normal debugger. That's cool. Here in the IDE, we also have a mechanism. I can use this to go find things and it will help me identify the selector that I need. We'll come back to building more effective selectors. I can choose to rerun my tests and it'll also show me the details about the passes and the fails and how long that test took. So that's really cool. It's being able to validate my site and running all of the tasks that I chose to do here. Now, in this case, I chose to have a browser that's 1,000 pixels wide, but we could definitely set the viewport to mobile layout or any browser configuration that we needed. Okay, so that was a cool introduction to the Cypress IDE. We can also use the command line to run tests and we'll see that in a little bit. So let's take a look at the code associated with this project. The code is up on GitHub and so you can take a look at this project, clone it, fork it and learn more about the content in this project. Our first stop in this project is the Cypress.json file. Now, this was generated automatically when I said Cypress install and it identifies a few things. I have modified it a bit. The first thing it identifies is the plugins file. Now, in this case, my project is TypeScript, so it's an index.ts, let's go there and here is my integration file, my index file. Now, here in this index file, it specifies the location of all of the other Cypress resources. Here's my fixtures folder right here. Here's my integrations folder. That's where all my tests will be. My support file will come back to that one. That's really fun. And then the output. I chose to put both the screenshots and the videos in the results folder so that I could specifically add that to my .getignore file and not accidentally check in test results. Perfect. Now, this is a TypeScript project. By default, Cypress will scaffold out a JavaScript project, but I flipped it over to TypeScript. Here in my main project, I have the TypeScript configuration that I would need for my project and there's nothing in here about testing. It's just my standard TS config. But here in my Cypress folder, I also have a TS config that explains how to create a new root project so that my tests can run in TypeScript as well. Now, I'm gonna say extends that other TypeScript config file so I don't need to reiterate all the properties that won't change and then I'll add the Cypress specific details into this TS config. Now that I've got that TypeScript root, now we can run some tests. Now, I've created inside my package.json some steps to be able to run interesting things.  I can also specify which browser I wanna run. In this case, I'm running headless Chrome and headless Firefox and headless Edge. And then for NPM test, I just chose to string all of those together. So it'll run all of my tests in all three browsers. And if all of my tests pass in all three browsers, then it'll move forward and continue with my build. Great. So we've gotten a feel for how TypeScript kind of initializes itself. Let's take a look at the code associated with this project. Let's start with to do NBC. Now we looked at, nope, here. Let's run these tests again. This to do NBC is based on this to do NBC project. Now this project is a smidge dated, but it's a great way to be able to compare frameworks. They provide a standard HTML and CSS file and invite various vendors to build this to do app in their framework. So we can compare the results in various places. So in this case, I've built some tests around that external site. And let's take a look at the code for those tests. Here in VS code, we could flip between various tests. I'll run the AngularJS version right now. Now I'm gonna go grab the site name just that I can display it here in my described block. That'll be cool. And then before each test, I'm gonna go visit that site URL. Now I could definitely do this at the top of each test, but I'm gonna do it in a before each so that I don't need to worry about it. By the time I'm done with this step, I know that the page is loaded. Notice that we're not awaiting it. By the time this command finishes, the browser is ready to go. Next, let's do our first hello world test. Should visit the page. Now I'm grabbing this URL and I'm validating that that's the page that we landed on. We didn't get 301 or 302 to a different page. As I started in this test, they actually flipped from HTTP to HTTPS. And so this test failed to help me understand that I wasn't going to the right page. That was perfect. So let's level up again and start interacting with the page. Sci.get. Sci.get allows us to select content in the browser. So we're gonna give it this CSS selector or this jQuery selector. In this case, I'm gonna go look in the to-do list for any LI items. And I'm gonna validate that there aren't any. I haven't created any, so that makes sense. With an empty list, we shouldn't have any to-do items kicking around. Next up, let's start to interact with the browser types and content. So I wanna create a new to-do. Here's my right Cypress test content and that's the to-do that I wanna create. We can see this range act assert pattern that allows us to set up the conditions associated with our test, run the content and then finally assert the results. Now technically, pardon me, technically this visit is part of the act stage but we've done it previously. Okay, so I'm gonna go find that new to-do box. There's my jQuery selector again and type in it this new to-do text. And then I'll push enter. Notice that this one has a dollar sign before it and this one does not. We can use this curly brace and type in various things to type various function keys or shift alt control. We can get at any kind of weird keys on the keyboard with this curly brace syntax. So we'll type our new to-do, we'll push the enter key and then as soon as we finish that, it should create a new element in our list and clear out this box. So let's go look for that list and go see if the ally items contain this new to-do. If we have a new to-do, then we'll be able to find it this way and now our test should pass. Let's also go look at the new to-do box and validate that its value is blank. Okay, so we've set up this test and we're able to go create a to-do. Now let's mark a to-do as completed. We'll go type in this new to-do. I'm gonna start by typing in a relevant to-do so that I make sure that the one that I'm completing is the one that I want and not maybe the first one in the list or the last one. So I'm gonna create an irrelevant to-do. I'll go type my new to-do and push enter and then go look in that view for the to-do that I'm looking for. This is kind of like jQuery's find syntax where I pass in a query and then a filter selector. That's a little weird, but I get it. So once I found that thing, then let me go find the toggle button. That's how I choose to complete it and I will click it. Now once I've clicked that complete button, now looking through this list, we should have that one element marked with the completed CSS class. Now in this case, completed means strike through, but I'm not validating that my CSS is specified correctly, only that my JavaScript is functioning the way it should. Okay, so we've marked a to-do as completed. Now let's delete a to-do. I'm gonna go create an irrelevant to-do.  Now in this case, the destroy button only shows up when we do a mouseover and then we can click it to delete it. And so because I'm not running the CSS events inside this test, I'm only running the JavaScript events, then it never is visible. Well, I can still click it, I just have to say force is true and when I say force is true, it will click it even though it's not visible. In this case, the button wasn't visible, so I said force is true and I marked that, I deleted that one to-do. So now my to-do list should only have one item in it and it should contain that irrelevant to-do, not the to-do that I marked to delete. Perfect, let's level up again. Now we spent a lot of time typing new to-dos and pushing enter and some more to-dos and pushing enter, that's getting kind of redundant. Instead, let's create an action. Let's say cy.to-do add and add some content there. Now I just made that up, but that centralizes that business logic associated with that task. So I'm gonna come here into my support file and take a look at the index file and this imports those commands. So here's that command and I built a command called to-do add. To-do add will take in a text, type it in that box and while I'm here, I may as well just validate that once I pushed enter that box is now empty. Perfect. Now in JavaScript, that's all I would need to do, but here in TypeScript I need to tell it that this is a valid command. Okay, let's head off to the Cypress docs and we'll take a look at the details of associating commands with TypeScript. Not only do I build this function that identifies how it works, but I also need a TypeScript declaration file explaining how this thing works and that will help TypeScript validate the types associated with my command. So back in VS Code, I have this TypeScript declaration file. Nope, this TypeScript declaration file that will show me the interfaces that I've built. So here's my to-do add function, takes in some text and returns that element. So now I'm able to make this test and kind of describe what's going on in my test. I also have a to-do complete command that specifically goes and finds that toggle button and clicks it. What's really elegant is I'm starting to describe my business logic. My test is much more terse and those steps that I need to do are abstracted away into one place. We can build up our test this way by creating commands for each of the tasks that we want to do and then just really quickly describe the business logic here in our test. Now that makes our tests a lot more legible. We're describing the intent of the user, not necessarily describing all of the steps it takes to get there. The steps are often the commands. So I create three to-dos, I complete one of them and then I go click the active button. So now I should only have two left in my list. Now I chose to create three because, well, was I showing the active ones or the inactive ones? I wanted to validate that I was showing the active ones. Okay, so let's use that same mechanism. We've created three to-dos, we'll mark one of them complete and now let's go filter by the completed button. Once I've got that completed button, now I should only have one item in my list. Now this mechanism of selecting things, dot filter slash a completed is a little bit awkward. We've built this CSS selector that kind of navigates through the DOM, but if ever I change the HTML associated with my website, that selector might break. Instead we should upgrade to going by specific CSS selectors on our content or even better based on IDs associated with that content. Even better still, we could create a data dash CY element and that very specifically says that this attribute is focused on testing. Then in our test, we can validate, we can just grab that based on that data dash CY element and we know we're getting exactly the element that we need. That's perfect. Now in this case, it's not a site that I can control so I'm just using the CSS selectors. Once we've quit completed, now let's go validate that we only have one thing in the list, only our completed item. To fill out our tests, let's go clear the completed list. So we'll create a new one, we'll complete it and then we'll go click the clear completed button and now we should have nothing in our list. And we can see based on these tests that each of those passes and we're able to validate that our site accomplishes each of these tasks. So for example, to do delete, we're gonna type a new to do and then we will go market as done and then we validate that we only have one left. Perfect. So now we were able to get started with Cypress in a really elegant way. Let's level up and talk about network requests. So I'm going to start up a new suite of tests and let's talk about hacker new PWA. Now much like to do NBC, hacker news PWA is kind of that spiritual successor where it reads hacker news and shows it in various applications. So here's the react hacker news PWA and here's the another react hacker news PWA and a pre-act one, there's a view one, here's a spelt one. And so we can run similar tests. In this case, we're running them inside of Angular. So let's take a look at that test. As we fire up the test, similarly we could switch between various sites. I chose the Angular one in this case and I'll just grab the name for the described block. Now we'll go visit that test. I'm glad my first hello world is still a go validate that's the page that I landed on because if ever we move pages within our website it'd be nice if our tests would fail to validate that we aren't testing the page that we expect. Next up, we should have a specific top story. I want to validate the rendering of my component. Now in this case, the component could be well, whatever that news story is. I don't know what hacker news's top story is. And so as we're building this code we should instead put in some fake data. So I'm gonna say cy.intercept, we could put in a string but in this case I chose a regular expression and I'm gonna say add the access control allow origin header because it is cross domain and then replace it with this fixture. Here in the fixtures folder, here's my hacker news JSON and I have specific stories that allow me to make some assertions. So this is the first story. I know that one will be the first one in the list and I can come back here and I can say, okay go grab the first story and validate that it should contain this specific title. If I want to validate the rendering of my components I can use fake data, these fixtures to be able to specify the specific details and then validate that it renders correctly. That would be really easy for me to lie to myself and pretend that that's how the API works. So we have a second test that actually does really go hit the real API. Now I can assume that there will probably be 30 or more stories in hacker news and this API pages at 30. So let me just go grab the real things and validate that I have 30 in that list. Now I don't know what the stories are. I can't validate that it goes in the right place but that's why I have these other tests that mock out the details when I need to test specific things. Now if this API took a really long time I could name it in this case get stories and then specifically wait for that task. In this case it ran fast enough so I didn't need to. That's perfect. So let's look at this test and we can see that we visited the page correctly. We looked for a specific page and a specific result and noticed that these are the fake results and then our real test that hits the real API and validates that we have the content in place. So it looks like all of those tests passed this one actually canceled the real request in favor of the fixture and so we got to see some really elegant mechanisms for getting started and leveling up through various places inside of Cyprus. Let's take a look at some best practices. Now we talked about how we could build CSS selectors and definitely find content in the page anywhere we needed to but it's better to level up to a specific class or even better an ID so that we know that we're hitting exactly the thing that we want. If we rearrange our HTML we want our test to still work. Even better still create a data-cy attribute on that element and then go select that specific data-cy attribute. In this case we were testing a public website so we weren't able to do that but that's a really elegant way of not only capturing exactly the element that we need but also documenting in our project when testing needs a particular thing. So if I'm modifying some HTML and I see a data-cy element I know that I'll probably also need to modify a test. Next up, next best practice. Let's use fixtures for data that we want to use in interesting ways. Oh, this is about commands. In commands we do need to specify that TypeScript declaration file to be able to show not only to JavaScript the function that needs to happen but also to TypeScript the definition of that. Commands are a really helpful way to abstract away the particular details of implementation of these features into a central place we might choose to reuse in many tests and instead focus on describing the user's journey in our unit tests. These commands are really helpful. If ever you've used Selenium's page object you may feel right at home here with commands. Next up, don't log in at the beginning of every test. Now if your site is an authenticated website you might want to do a before all where you go grab an authentication token. You do want one suite of tests that will validate the login experience but you don't want to do the login at the beginning of every test because that's a lot of screens to click through just to get to the next step. Another best practice, use fixtures. We use fixtures to be able to swap out the top stories. You could use fixtures to specify specific users or company or customer data and grab the data out of that fixture anytime you want to do that. That makes your tests a lot leaner. Next up, we mocked an API so that we could validate how a particular control can render. Now mocking an API is great and using fixtures for that is wonderful but don't just mock the API. You want to be able to run the real API as well to validate that your assumptions in the mock are indeed true that the API surface area hasn't changed. We took a look at Cypress, how to get started, how to level up in interesting ways whether you're using JavaScript or TypeScript. Cypress can, pardon me, Cypress can be a really fun place to work. The slides in the code are online right now. If you're watching this video later hit me up on Twitter at Rob underscore rich. For those of you who are here live join me in that spot the conference has designated and let's discuss Cypress some more. Thanks for joining us. Thank you, Rob. It was very informative session. If any questions, please feel free to ask. I don't know, my voice is repeating. I'm actually surprised we're able to do questions live. All the other sessions they just shuffled me off into another session. This is cool. Yeah. What have you found helpful in reducing test fatigue when the design requirements change a lot? Good question. The purpose of tests is risk mitigation. And if the designs are changing a lot then we may want to take a higher level path through the tests maybe only validate the critical functions or only validate those things that have kind of baked some. If our goal is moving fast and not risk mitigation then we may only have a few tests. That's a great question, Lenny. Thanks. In relation to it how do we implement shift left testing in situations where the design requirements may change in response to customer feedback? Yes. Cypress is great at shift left testing because you can run these in a very automated way either right at the beginning of right in the DevOps process or even on your local work station to be able to understand those pieces. Sometimes when I'm developing a feature I'll develop the Cypress test to help me validate that feature and then I'll actually build that feature out and kind of use a TDD approach with Cypress. Great question Lenny. How do you suggest we test things like requirements, design specs, et cetera? That is great. Ideally you can take your design specs and you can turn those into a suite of tests. So we've described the user's journey through the application. Let's build a test that validates each of the steps along that journey or validates that entire journey as a whole. One of the things that I love to do is build a test that will launch the website, get into the product catalog, pick one, put it in the shopping cart and get to the purchase page. Now I'm not gonna complete the purchase but I've validated that whole critical journey to validate that my site is behaving correctly there. Then I'll run that test in production every few minutes or every hour. At that point I validated that my production website is behaving the way I expect. Now in the case where my site goes down, my Cypress test running in production will probably tell me before users do. That's really helpful. I'm able to validate those critical requirements and validate it running in production as well. I'll run it as part of my DevOps build as well but if ever any connectivity issues happen between my services, I validated that critical path and not actually checked out, not charging money but got myself all the way to that step and I can run that test in production really frequently. What metrics have you found useful for web applications with regard to software quality? Such a great question, Lenny. The easiest one to measure is code coverage and I found that that metric is pretty useless. 0% code coverage can tell you a lot that you don't have any tests but 100% code coverage doesn't tell you very much more. If you're in the 80s, 70s or so, maybe 90s, it tells you that you're working pretty hard in that spot but if you get to 100, usually it tells me that you've gained the system. Instead, let's look for scenario coverage. Exactly that, let's take the user's requirements, let's flesh them out into tests and let's be able to execute each of those tests. If I have an if block in my code, I have two different tests, one to flex each side of that scenario. If I have two if blocks, I have four possible conditions. If I'm only measuring code coverage, two tests would get me at 100% code coverage but it wouldn't validate all of the scenarios through my code. If we can look at scenario testing instead of code coverage, I think we can get better metrics here. Now the hard part is scenario coverage is a really hard metric to measure. So we tend to lean on those easy metrics like code coverage. Ultimately though, it's about risk mitigation. And so whenever I find an outage in production, I'll first build a Cypress test that will validate that that function should behave the way it expects and that test will fail. Then I'll validate, then I'll build a fix for it and set that in place. Now I'm confident that that production outage will never happen again. These are really great questions. Thanks Lenny. Yes Rob. Thank you so much Rob. Most definitely. Thanks for having me here in Boston.


Okay, good morning everyone. Welcome to 214, developing the human spirit. Thank you all for connecting. Let's pray and then we will start. Can somebody pray please? Father God, we thank You for this day and thank You for this day.  Give us new revelation and give us the understanding, the knowledge God and we submit everything into Your hand. In Jesus name we pray. Amen. Alright, so let's just quickly review what we did last week from lesson two and we'll try to pick up some speed otherwise we may not cover everything. So last week we talked about just some aspects of the human spirit. That's the real person. It has traits and characteristics. We talked about, we mentioned some of the faculties of the human spirit which we're going to look at each of them in detail. And we mentioned seven functions of the human spirit. And we will look at each of these in detail. And we also mentioned that the born again human spirit, it needs to be nurtured. That is, it needs to be fed and it needs to be exercised. So just like our human body, just like our human body that we feed, we exercise, we rest, all of that the human spirit has to be nurtured. You have to care for it and then it will grow. So lesson number three, chapter three, what we want to talk about is see the connection of how the spirit affects the soul and the body. If your spirit is strong, then your soul and body can be healthy. It's all connected, spirit, soul, body. So if your spirit is strong, soul and body can be healthy. And in this chapter, I'm just going to go through, there are many scriptures. I just put them all here in this chapter. But you can see various conditions of the human spirit. So you can just look, some of it is good, some of it is not good. But to understand that the human spirit can be in different conditions, just like the body. Body can be tired, body can be sick, body can be hurt, body can have pain. And if the body is not in good condition, then we cannot perform. You can't do something, but if the body is in good condition, you can do. Similarly, the condition of the human spirit. We will see that the human spirit can have different conditions. And the goal is for us to learn how to keep our human spirit strong and healthy. How to keep building it, how to keep nurturing it. And let the human spirit then affect our soul and body. So this is going through a list of scriptures. And we won't read all the scriptures, but you can study these scriptures in detail. But we see that the spirit can be an anguish, anguish of spirit. Anguish means, or the anguish of spirit means the spirit can be very, in a very difficult position. It's almost like if you tie up a person physically, you put them in chains. It's going to be very uncomfortable, very pain, very restrained, painful, so on. So imagine the spirit being like that. There's anguish, the spirit is very discouraged in pain, crushed, because of things that are going on around us, it's affecting us. Sometimes the human spirit can be against God. That means in the spirit, people are against God. They don't want anything to do with God. Spirit can be angry, so their anger can come up from our spirit. You can feel bound in the spirit. Now here, Paul was feeling something in the spirit. And he was feeling as though he was bound in his spirit. So there's a restraining, something's restraining me, holding me back. You can feel that. You can be broken or contrite in your spirit. That means there is a sense of brokenness. The Bible talks about this, a broken heart, a broken and contrite heart. The spirit is broken, a broken spirit. It can be broken in a good sense. It can be broken in a bad sense. A good sense means there is a lot of contrition. There's a lot of I am sorry kind of feeling. But it can also be broken in the sense of being hurt, being crushed, being wounded. So if I am broken in a good sense, that I'm repenting before God. That's a good thing. But broken in the sense of being wounded, then I need healing. I need to ask God to heal me. And the Bible says, for example, you look at some verses here on page 10. Proverbs 15, 13. A merry heart makes a cheerful countenance, but by sorrow of the heart, the spirit is broken. I mean, sorrow, very feeling, very sad for water. You know, there could be so many things. The spirit is now in a very wounded, broken state. Proverbs 17, 22. A merry heart does good like medicine, but a broken spirit drives the bones. Think of this. A broken spirit drives the bones. The spirit is broken, but it's affecting the body. Drives the bones. Drives the bones. It's another way of... So if you think about it, the bones, if I'm there, that's where all the red blood cells come. It's produced inside the bones. And the bones are drying me. There's no life in this person. But why the spirit is broken? The spirit has been crushed or something has happened.  Proverbs 18, 14. The spirit of a man will sustain him in sickness. But who can bear a broken spirit? I mean, if the spirit is strong, even through sickness, he'll be strong. He'll be sustained. He'll fight. He won't give up if the spirit is strong. So the body is suffering, but spirit says, no, I want to fight. I want to live. So the spirit of a man will sustain him in sickness. But if the spirit is broken, who can help him? They say, I don't want to live. I'm ready to go. I just know, like the spirit is giving up. Then we can't do much. So you see how the condition of spirit is affecting the body. We also read about the spirit of heaviness. So there is something that's causing heaviness on the spirit. Spirit is feeling burdened, depressed, weighed down. You can also have a calm spirit. That means there is a sense of calmness, peacefulness, quietness. We can be compelled in the spirit.  I have to do this. The spirit is compelling you. The spirit can be... So Caleb had a different spirit. That means he was very daring. You know, others were all being afraid, but he was one person saying, let us go. A daring spirit, courageous spirit, a different spirit. You can seek God. By my spirit within me, I will seek you early. So a spirit that is hungry for God. We can err in spirit. That means somehow the spirit is... We can err in spirit. The spirit is now caught up in some form of error. What the spirit is pursuing, understanding is wrong. Erred, erred in spirit. We can be a person of an excellent spirit. That means in your heart, you want to, you know, do things well. You are pursuing excellence. It can be of an excellent spirit, outstanding. But you can be a person of a faithful spirit or unfaithful. So faithfulness or unfaithfulness is something that's coming from the heart. A faithful spirit or unfaithfulness. So somebody can have a very faithful spirit, very faithful, very sincere, or somebody could be very unfaithful.  It's like that. It's the condition of the spirit. You can have a very fervent spirit.  Fire is always burning, very zealous, very passionate. There could be also people are grieving in the spirit.  And the spirit is, you know, just coping with that or handling that, processing that grief inside them. You can also see page 12, people can be hardened in their heart or in their spirit. That means it's almost like no matter what you say, I'm not going to change, you know, they're so hard, hard in their spirit. They're made up and, you know, sometimes it can be because of pride that the spirit is hardened. So we also see pride can be something in the spirit. So these wrong, you know, pride or humility, these what we refer to as a fruit of the spirit or good traits, character traits are from the spirit, pride or humility, the opposite. So we can be of a humble spirit, poor in spirit. Somebody could be of a hasty spirit. That means they're just very rash, hasty, impatient. Or, you know, the opposite would be, of course, they are patient or in spirit. There is the heat or the spirit is very agitated, stirred up. You know, the spirit is really on, moved to do something. God can inspire us in our spirit, Job 30 to 8. There's a spirit in man and the breath of the Almighty gives him understanding. In our spirit, God gives us wisdom. The spirit can make diligent search. That means the spirit is seeking for truth, seeking for information. Psalm 77 verse 6 is searching, it's seeking, wanting to learn. You can also feel overwhelmed in the spirit. The spirit is feeling like, this is too much for me. I cannot handle it, feeling overwhelmed. I see many. You can be patient in spirit. Patience is a fruit of the spirit. The spirit can perceive. That means the spirit is picking up, what it's seeing, perceiving in the spirit. The spirit can be pure, a spirit in whom there is no deceit, no heart, pure spirit. The spirit can be revived. That means it can be refreshed. It can be renewed in its strength. The spirit rejoices. The spirit has rejoiced. It's being able to rejoice. Self-control comes from the spirit. You have a rule over your own spirit. I'm just going through some more here. Please bear with me. Self-governing means you're able to self-control, govern yourself. So the spirit, from inside, you are controlling, governing yourself, keeping your whole being in control. So no matter what people say, you're governing self-governing or self-control. Your spirit can be steadfast. That means steady, unshaken, faithful. The spirit can be stirred up. As we saw earlier, the spirit can be moved to do something. Sometimes people are stirred up in their hearts. I feel like I want to do this, God is intentionally moving them in the spirit to do something. The spirit can become stronger. You can see here that they became strong in spirit. We are strengthened with might by his spirit in the inner man. The inner man is being strengthened. The spirit can be troubled, disturbed about something. So we see examples of that. We struggle to become anxious. My spirit is anxious about something. So you can see those examples here. Last few thoughts. The spirit can be willing. So everyone whose spirit is willing. So many times when we ask people to do something, we let them make the decision. If you feel free in your spirit, you do. So let the willingness come from your heart. The spirit is willing. I went through this long list very quickly. You can think about each of these. The spirit inside us, the human spirit, can have all of these emotions or can experience all these things. So it's to show us that there's a lot that happens in our spirit. And we need to recognize this. We need to deal with the wrong things. But the good things we need to develop. Wrong things like being hasty, unfaithful, angry, jealous or wrong things that come in the spirit. God created me a clean heart. Oh God, deal with my spirit. Change me there in my heart. So if the change happens in the spirit, then it is a permanent change. That means you really changed. Otherwise, simply, if it's only an external thing, the pastor is watching, so I'll feel like this. He's not watching, I'll do what I want. That is not a permanent change. That is only temporary. That's only for sure. But permanent change happens in the spirit. We go before God. I want to be a man of a patient spirit. I want to be a man of a calm spirit. I want to be a man of a humble spirit. I want to be a man of a clean heart.  Then God works that in your heart. When that happens in your heart, then that's who you are. That's who you become. That's a permanent change. Then you don't care. Anybody watching, not watching, doesn't matter. That's who I am. It's always like that. Because God has worked that in your spirit. God is the only of a bold spirit, of a strong spirit, of a courageous spirit, of a steadfast spirit. Make me like that. God will work it in your spirit. When your spirit becomes like that, then that's who you are. Nobody can shake it. Nobody can change it. And regardless of what situation you're going through, that's how you will be. You'll be strong. You'll be courageous. And if you're feeling things in our spirit, Lord, I'm feeling overwhelmed in my spirit. Oh, go before God. God help me. God refresh me. I'm feeling tired in my spirit. God refresh me. You know, strengthen me. He'll do that. Okay. So the goal is... Go ahead Prince. Question? We have seen how the condition of our spirit affects our soul and body. Is it also the same opposite way, like the condition of how, what we think, how we behave also affects our soul? We must come to a place where it shouldn't. Example. Normally, I'm just saying generally speaking, the condition of the body and the mind will then overpower the spirit, human spirit. Like a body is sick, then the person immediately feels very discouraged, very depressed. Maybe God is angry. Maybe God is teaching me a lesson. No, no, maybe you ate spoiled biryani. Maybe that's the problem. Not God is teaching. But anyway, generally people are like, Holy Spirit is God angry. No, no, no, no. I have some problems. So people, something is happening in the body. Then the spirit gets affected. Or something is happening in the mind. They let the emotions affect the condition of the spirit. I'm saying generally, but we must not allow that to happen. Our spirit must be so strong that even if we face something in the body or something comes in the mind, we must be strong in the spirit and our spirit must rise up above that and say, no, body, you listen to me. I'm the boss. Body is not the boss. Body is the house in which I live. Mind, listen to me. People like you, for example, you find the Psalmist, he's talking to his mind, Psalm 42, I think. Why are you, I memorize it in King James. It comes out in King James. Why are thou cast down on my soul? Hope thou in God. So he's talking to his soul. Why are thou cast down on my soul? Hope thou in God. The health of your countenance. The strength. So he's talking to his soul. All we know is Samantri. Bless the Lord, oh my soul. So he's saying soul, come on, bless the Lord. You don't feel like it? Bless the Lord. Bless the Lord of my soul. All that is within me, blesses holy. So sometimes soul says, I don't feel like blessing. I want to sit, I don't want to praise God. Come on, bless the Lord. So what is happening? Spirit is telling the soul and the body. What to do? That is how we must come to that place. Otherwise what happens? Body and soul suppress the spirit. Then we actually live defeated lives. Because body can face so many things. Same thing with our emotions. We can face so many things. Somebody says something, somebody says something. Whether it's not good. Whatever the feelings, the emotions keep changing. But we cannot let that affect our spirits. The spirit has to be strong. And the spirit has to dictate to the... And also Pastor, like... Is it also like demonic operations or... Demonic act can also influence in our spirit condition. Like if a person is having a... Like depressed spirit or broken spirit or angry spirit, anguish. Can it also be a reason of demonic activities or... Normally for the majority of the time, The way the devil works is he tries to do it through the mind. So the devil can... So especially for a believer. The devil cannot touch our spirit. Our spirit is protected. We're covered by the blood of Jesus. Holy Spirit is living there. It's a temple of God. He can't go directly there. So what does he do? He tries to play with our minds. Wrong thoughts, fear, guilt, condemnation, accusation. Those are the things he tries to put in our mind. And from there through that, we'll try to affect our spirit. So he can't go directly to the spirit. But for an unbeliever. If the unbeliever opens the door to sin. Basically sin opens the door. For an unbeliever, they don't think about sin. They think it's okay. So that is an easy entry point. And if they open the door, then the wicked spirits can inhabit not only the soul. But go straight into the spirit. That is what we call as demon possession. Believer cannot. But it can trouble the mind. Page 15. So we have to intentionally take that out. Spirit, soul and what? Strengthen the spirit all the time. Live out of the spirit. And in any situation, we say, okay, let me start with the spirit. God, what are you saying? What is the Holy Spirit telling me? From there we live. Spirit, soul and what? When people will get panicked when real situations in life. So first you're telling that we have to deal that conditions with the word of God, right? Whatever. Some bad news comes. Somebody says something happened. Immediately our mind starts thinking, what happened? So some bad news. Our mind will immediately work and think about so many things. What happened? And then that will cause emotion. Fear, anxious, feels sad, whatever. Depending on that news. Okay. We're not denying the situation. We're not denying how we are feeling. That is normal. Any human being will feel. When you get a news, you'll feel sad. You'll feel anxious or whatever. That is normal. But the next step. Are we going to let that news affect our whole person, including our spirit, then fully dip down, fully depress? Or are we going to let our spirit rise up and do what God wants us to do? So example, at that moment you say, what does the Bible say? What did God say? God said, in everything, give thanks. But this is the will of God concerning you. So at that moment you say, God, I received this news. I don't know why it happened. I'm feeling, maybe I'm feeling sad, or I'm feeling anxious, or maybe I'm feeling afraid, whatever that news is. But God, you said, in everything, give thanks. So God, I praise you.  I praise you that you're bigger than the situation. I praise you that you're faithful to me or to whoever's concerned. But you're faithful. I praise you that you will solve this problem. And then if you have to deal with the situation, you deal with it. How sometimes you may have to speak to it. Example, Jesus and the disciples are going in the boat. There's a big storm. Decidibles are afraid. That is normal reaction. You're seeing a storm. Nobody is going to be happy. They're afraid. The emotion is affected. Jesus is very peaceful. Still sleeping. So they go, wake him up. Lord, we're going to sing. Now when Jesus woke up, I'm sure he saw the storm, the wind, the waves. Yeah, it's real. But you see what he did from the spirit. He said, peace, be still. Then he turns around to his disciples and he asks them, where is your faith? So meaning, hey, you should be living out of your faith. His faith is in the spirit. Yes, the wind is real. The storm is real.  All this is real. But you have to live out of your spirit. Where is your faith? But Jesus is telling a very beautiful example. Yes, there is a storm, but let your spirit, what you have in the spirit, dominates. So sometimes you say, Lord, I pray to you. Then what else? I must speak to the storm. So you say, in the name of Jesus, I speak over the situation. I speak peace over it. I command every work of the enemy to stop. So you're letting what is your spirit dominate the situation. That is how we are supposed to live. Otherwise, we'll be like Paul rebuked to Corinthians. 1 Corinthians 3, he said, you're living like ordinary people. If you look at it this way, 1 Corinthians, we're not supposed to live like ordinary people, like just the others. You're living like me and men. 1 Corinthians 3 and verse 3. He's actually rebuking them because they are fighting with each other and all of that. But notice what he's saying. 1 Corinthians 3, 3, somebody can read it. You're still worldly. 1 Corinthians 3, there is jealousy and quarrelling among you. Are you not worldly? Are you not acting like merry men? So, you are fighting, there is division, there is jealousy. That means all these things are worldly things, fleshly things. You're behaving like mere men, like ordinary men. You're behaving like that. He's rebuking them. You're not supposed to live like, you're supposed to be different. To live from the spirits. To live from the spirit, no jealousy. No, no, no. Let's go back to the lesson of this. We'll go off somewhere. Page 15. So, we must maintain a strong, healthy, wholesome, human spirit. So, that is the focus. We want to learn how to do that. Paul wrote 2 Corinthians 4.16. We do not lose heart. Even though our outward man is perishing. The inward man is being renewed. So, see the difference. Outward man. It is growing old. Outward man is perishing. Inward man is becoming stronger. That is the difference. He's not saying, I'm growing old. My spirit is also growing old. No, no, no. Physically, I'm growing old. Spirit in a man is being strong. Being renewed. So, what is in our hearts affects our lives. And what's in our hearts is released into our lives. We will see that. Now, in all of this, words, you know, words that people speak or words we speak can affect our spirit. So, last Sunday we talked a little bit about that. Sometimes people can speak words and hurt us. They speak words, condemn us. You know, it can hurt us. Actually, they are saying something, but the wound can go to our hearts. Feel pain. Why he said that? Very painful like that. They criticize or like that. So, we have to be careful about the words. What they say and what we say works both ways. But wounds can hurt. Words can wound the spirit. So, be careful. It can break the spirit, it can crush the spirit. So, understand that the enemy uses this. So, what can the devil do? He can only plant words, ideas, thoughts, imagination here. So, he can whisper. Like, wrong word, wrong idea. But if you don't stop it here, it can crush our spirit. Like, oh, your thought comes suddenly. God doesn't love you. It's a thought, but it is made up of words. God doesn't really love you. Something just making up. But those words come, thoughts come. If you don't catch it and don't deal with it, it goes into our heart. It can crush us. We feel weak. We feel, oh, God doesn't love me. I'm not worthy. I can't do this. So, be careful of words. Let me just see. Let me just see if there are any questions online. Any questions from online class students? All right. Let's go to Proverbs chapter four. Just want us to look at something here. Proverbs four and verse 22. Proverbs four was 22, 23. Proverbs four, 22, 23. Somebody could read it. Proverbs chapter four was 20. My son, pay attention to what I said. Listen closely to my words. Do not let them out of your sight. Keep them within your heart. For they are life to those who find them. And health to a man's whole body. Above all else, guard your heart. For it is the wellspring of life. He says, verses 20 to 22. Now he's saying, pay attention to my words. He's saying, keep my words in your heart. Keep, you know, the word of God has been our heart. But look at verse 23. He says, keep your heart. That means your spirit. Guard your heart with all diligence. Protect your heart because out of it come the issues, the matters of your life. So the things that come into your life or the forces that shape your life, the things that you produce in your life, come from your heart. Guard your heart. Guard your heart with all diligence. Like security guard, don't fall asleep. Protect your heart because from there are coming things into your own life. So that means what happens in your life is determined by what you put in your heart. That's why he's saying, pay attention to my words. Keep them in the midst of your heart. Keep God's word in your heart. Then it will shape your life because our spirit, the condition of our spirit affects our life. So this is our principle that we keep in mind. If you build a strong, healthy spirit, put God's word in it, God's word, the fruit of the spirit, the character of the Holy Spirit, you build a strong, healthy spirit, it will bless. What comes out in your life will be good, strong, healthy. The things that God wants will release into your life. So we are going to focus on that. Now let's go to the next chapter. I'll just introduce that chapter. We will continue that next week. In the next chapter, what we will see chapter four is that there are analogies of the human spirit or the human spirit is compared to certain things. We'll just do a review. We'll study it in detail next week. For example, the human spirit is like a house. So you think about this. My heart is like a house. So some things about a house. Somebody can come and live in that house. House is meant to, for somebody to live. And Jesus wants to, or God wants to live in our hearts or in our house. House also must be kept clean. So that's another thing to think about. So really we are the house of God. God wants to live in our hearts, keep the heart clean. Another picture of the human spirit was lamp. If the Bible was being written in our day, is it torch light or you'll say, phone light or something. On those days, lamp. Basically lamp. What is the lamp? It gives light. And because of that light, you can see the path you're going. So the human spirit is like a lamp. And we will see scriptures. So when we want guidance, when we want to know which way to go, it is that we're going to receive it in our spirit. Of course we can discuss with people and have conversation. We can get counsel. We can get input. That is a good thing. But for God, God will normally speak to us by lighting our lamp. Now spirit. So we must, it is good to get counsel, all that fine. But to listen to God, spirit.  So those days they talked about treasure. Today we talk about money. Where do you put your money? Put in the bank. It's a place of deposit. Okay. It's also a spring. We read about this. Out of your spirit will flow. The issues of life will come. The issues of life. Very interesting. It's also a womb. John 7, the Greek word there that is used is womb, like giving birth. So if you and I want to give birth, it takes place first in our spirit. And then we release it into our world. We will look at all these verses, you know, next time. I'm just going, giving us an idea.  What can you do on a field? If you want to leave it like that, don't do anything. Or you can plow the field, put seed, put rain, and you'll get nice harvest. So it's like a field. You want to harvest? So some good seeds. Take care of it. You'll get the harvest. If you don't put any seed, you can keep on praying. Nothing will happen. Because seed, the field, you have to put seed to harvest. Take care of it. Another picture of the human heart is like stones or tablets to be written on. Now in those days, they use that picture.  I've written on your heart. I'm imprinted on your heart. I've put the truth of God into your heart so we can think about something that we write in a permanent way that I've permanently marked in your heart the word of God by the Spirit. And lastly, another picture is, it's a vessel, a container. That means you can fill it with something. It can be used for something. So we need to think about this because God is saying, I want you to know that your spirit is like this. It's telling us, it's like this. That means it is serving these functions for you. It's like a field. So put some seed in it. You'll have a harvest. It's like a vessel. You fill it up with good things. You can pour it out. I can use you. It is like a deposit. You put good deposit in. When you need, you can take withdrawal. If you have no deposit, no withdrawal. It is like a womb. You want to give birth to something. Yeah. Start with the womb. You can give birth to things of God. So like this we will discuss, right? We'll do that next week. And yeah, go for it. Do you have a question? Oh, online. Okay. Online, Jachan has a question. Generally, women are more emotional, but mostly men deal the same situation differently, mostly by logic. So here it is not from a quiet spirit. So there's a difference when we train our spirit in God's word and remain in that still place, taking our decisions. Just a thought, not sure if I am right. So, so there is, so, so there is, I think, if I understand what Jachan is saying correctly, the way the brain operates for men and women is quite different. So there are lots of studies on that. Men are very compartmentalized, very logical. Generally speaking, I am not saying everybody, generally they are more compartmentalized, logical. Women are more intertwined in their thinking. They look at the big picture, how everything connects with each other. So everything in the world is connected to everything. So they generally like that. That's the logical, the psychological part. But as believers, if we are living out of our spirit, then both men and women can basically display the same fruit of the spirit. We can all, believers, men or women, walk in love, gentleness, kindness, meekness, you know. Yeah, psychologically, then it's the how we process things will be different. But the character that comes through would be kindness, kindness, gentleness, self-control, the fruit of the spirit. That means the spirit is dominating regardless of how our individual psychological makeup, you know. Some people are extroverts, some people are introverts, you know, all those things are there. That is true. That is how we're made up. But even the spirit dominates what we will see is the fruit of the spirit through both men and women. So I'm not sure I understood you just in what you said, but hopefully I'm in this red line of thought. Okay. All right. We'll continue this next week. We will look at these different pictures and see what they mean to us and how we should apply them. Okay. Somebody get close and then we'll dismiss. Thank you for this time, Lord Father. We thank you for all the insights that you have given us or Lord Father Jesus. Everything that we have learned, Lord, help us or Lord Father to apply it or Lord Father in our lives or Lord Father help us or Lord Father to live from the place of spirit or Lord Father and to walk in your spirit along with you Jesus.  We thank you for everything. We give you glory and honor. In Jesus name we pray. Amen. Amen. Thank you everyone. God bless you next week. Bye.


Hello and good morning to you from where I am in Ashlandia and I am happy to be doing this with you And I'm an 80-year-old woman Speaking of what it is to be alive for me. So here we go. I'm with Alphus And I've been asked to talk about my experience as a woman and I'm grateful for that The tone of who we are and the estrogen of who we are and the depth of the birthing possibilities that we have births in many different ways and For me birthing a human being wasn't the form I took and I knew the vision and the dreams I wanted to go for as I moved along in life And then I have had an opportunity to live them and to live all of the dreams that I've had and that's a pretty remarkable opportunity and So I I come to you this day in the cold of winter with a sunshine To share a bit of that the beginnings of knowing the womaness of myself and Unfolding that started to take place when I decided to be a teacher and I taught junior high and car high school. I was teaching at Los Alamitos High School in California during the John Birch times and I wanted to say too that I'm 80 years old and It's real important for me to say that so that you have a perspective of What you're looking who you're looking at now To who I was when I was looking When I was looking like this So you see how youth and time take its toll and I would say that Being the age that I am I am came in to me one morning to honor the fact That I am now an Old woman an older woman and hopefully before I leave here. I have the gift of being an elder You don't necessarily go together. Maybe So I need and label myself except the truth of my age on the physical plane So I started at Los Alamitos High School And I bring this up because it was when I was in my early 20s So the passion of being alive and the desire of creativity. I was speaking speech and drama and communications so it was a daily demand school and I could flexible scheduling so students could come in and we could They could do or Schedule in when they wanted to it was a public school But doing the drama and and the we did 60 productions in one year Now this means that I had a big enough room That we could flex students in during the day so students other students could do their pieces For everybody that wanted to come during different Schedulings and I was living at the beach. It was beautiful. I Was friends with my students because I'm in my 20s. What do I know about being an adult? luckily not very much And so I had a lot of time with my students and I went to the Big Sur Folk Festival at Esalen and And that was remarkable being there with Joan Baez and Crosby stills and Nash and John Sebastian and being at Esalen where it was had and having all that input and having all the input in those those years in the 1970s And I know late 60s the late 60s With Ram Dass Paramahansa Yogananda the Tibetan Book of the Dead and and the psychedelics and The gift that marijuana was for some and not for others The gifts of psychedelics were some down and not for others, but the influence those things had on the cultural contacts of Martin Luther King and You know and if you don't you're hearing about it So I was gifted with incredible opportunity and desire and Then when I was 29, I knew that I wanted to move back to the country to the land Because of the input that I had and with all of nature and living at the beach and the consciousness and And I didn't know for sure what that meant and Then then I found Ashlyn through a wonderful dear friend Who decided that it was important that That she moved here, and I thought well, she's a wonderful person in my life, and that seems like a good place So I journeyed with her here, and it seemed like exactly right and that was 1970 okay, are you with me? Whatever age you are So when you look at elders now You're looking at you as a younger person Deciding who to be Because we all were doing that and So being here was a chance to unfold as an artist So I'm coming to you in this video or film. However, it's called nowadays as an artist as a social Transformer worker person and Woman and as a human being With a story that I hope keeps inspiration alive in each and one of us who are watching this And if you look at some of these photos of and pictures of what I have done And my website lavelfuss.com It will inspire you to trust yourself I know that visions can be real But it has to be because it's from your deep self and not too much from the ego of I'm so bitching You know You know I did plenty of that I'm bitching Well, now it's like I'm looking back and going. I'm glad I had the energy to do this stuff And and I'm glad I know the people and have given love and received the love Now what's important about that whole introduction? expression Is where I landed and what that has brought? That was all that energy that I began this with that got me here and now we're here and So and that being here meant I moved here in 1970. This is the herstory and the history of Ashlandia Ashland was a very small town It's always been a spiritual center in its own way Even though it housed Ku Klux Klan via Medford for quite a while early on It held the hot springs The first nation people used the creek salmon came up that creek and We were the first I guess major influx of hippies or alternative culture people and and I moved here in a big truck and bold Wonderbread school truck that I fixed up in a beautiful May van living van inside and Those of us that I was associated with a lot of them were had been professionals be in their journey to here Dennis and company owners that weren't doing any of that anymore that were That were really wanting to be somewhere that they could participate in community So the influx went here and it went out to Out to Grants pass and pass that were a lot of the earth the earth-based real earth-based women and men were living They were called hippies then and they were in the country that way And then there was a lot of the women who owned and were buying land and were being women on the land And I had those women as my friends besides the women that of us who lived in town Now I was living on what was caught is called Oak Street Now Ashland's a really grown community. You can imagine in 40 and 50 years Oak Street was a dirt road Hershey was a dirt road Mountain was a dirt road and I lived on the dirt road of Oak Street and a barn With the house servants quarters next to it that had been part of the main estate So I was gifted without the long story of it or bought This big barn with the blacksmith shop the little house next to it and One of the people that I had done some work with built a fun interesting shaped building on top of those two on This dirt road Now for some reason and I promise you it's a soulful unknown except by the nature of it seeing it happen in my life People started coming to visit me Or needing a place to live For maybe two months or three months or whatever And it didn't seem like please don't get it mixed up with people it got formed with people who were Really leading to find their way and wanting to find a place to land and Start a life in a way that served them instead of the city And this big it So we started building little places on the side or off the barn and they could live there for a month or two for like twenty five dollars a month and Dennis DeBay who's a famous infamous blacksmith now lived upstairs and one of the air in the house and he he He had a big wood burning stove because he's a blacksmith that I had in the big barn studio and People started to stay and I have to say The hundred people it was really more than that, but you'll think I'm exaggerating the hundred people That live there over 15-year period I Didn't ask anybody but two people to move There were men different men and women and everybody took care and Yes, it was not a commune. I didn't this I don't live in that format and I was reasonable and kind and there was nothing I had to do To enforce anything So there was that gift as part of it having this land come to me Having people come and live there, too You know, maybe there would be as much as about ten at a time with the facilities that were there And that's when I started being an artist with wood and so You're going to be shown these images I Was starting with smaller wood, so I started doing the wood carving There was a friend who lived there that had some wood carving tools and chisels and mallets and I just started and Playing around with them and These beautiful things were coming out of me like a walking cane and a wall piece And I did everything by hand. There was no power tools And then I started doing big signs for downtown and then I started I went to the coast and on the way There's the Jedediah Smith There's a place that has all this wood and they had giant slabs of redwood That were like three and four feet wide and ten feet long And I stopped and I now I was really full of what I could be when I could do and so We I stopped and I had my pickup and I Had them put three of the large three feet by eight feet redwood slabs in the back of the truck.  I mean I was into all the you know the rightful eating, you know stuff and Started carving these large pieces, which you will see Out of ancient redwood struck down by lightning This is out of that two thousand year old redwood that's struck down by lightning and You'll see the picture where this is not all turned black But no matter what you put on something if it's outside in its wood It's going to turn and this is a this was done like a 40 30 or 40 years ago 30 years ago So it's been outside a lot in different different sculpture parks And then they wouldn't take it anymore because it wasn't like shiny So as you notice now the parks will all have them with shiny things and no more wood creation The waves of time and space Amethyst crystal is at the bottom This is the Tibetan turquoise Women were for the practice of compassion and remembering the earth the crystal Amber, but I go into how this whole women's this whole transformational energy field of The estrogen moving in women and the spirit of creation Helping unfold Who we are as Women on this planet in a cloistered enough environment That wasn't separate us in its living space its community and start really owning and breathing and singing our Wonder and there were country women who had land that they were living in Cottages and sharing what it was to be in community that way and They would come to town and my barn was big enough to have gatherings there and A place called positively 4th Street where women's theater could be put on and women's concerts So we could hear what do we sound like what is our tone What does it feel like to have sisters and Feel that bond and have music created by us and women's gatherings Michigan's women festival it went for years Ashland we did a women's gathering for 20 some years At Lake of the woods Women of all toenails of their choices in life We've got had a big mother drum made because early then in first nation From my understanding women were not encouraged to play the drum it was the man's instrument So I wanted a big drum for us and so did some of the other women we went in on a community pay buying and a wonderful man named Randy Made us a big mother drum this big and Six can play at a more at a time and had a stand built and that was how we opened and did our gathering with drumming And I was this is a You know lots of places of Canada Six at a time and so it is And I was being a musician with four other women with guitar and drums and flutes and Writing our own songs. They may not make me and just improvisation Lee doing it with no melodies We knew that we made up and And at the gathering we would have be doing our own music sound system set up and then some just out by the trees and Then the Oregon's women's festival was taking place and That carried on By 1970 a women's gathering started in Northern started in Canada Now we've had the the Washington's women's festival 150 200 women came to that and Then that shifted and so some of us from the States and Canada got together and created a cross cross bound cross border women's festival on In Vancouver on Vancouver Island at Lake Cowichan Now what's so wonderful about this is that it gave women a chance from all walks of life to come together for five to seven days in nature in nice little caddages with nice food being made for us through workshops and music and With the Native American flute in the big drum The morning I would play the Kathy would play the big boom boom on the big drum And I would play the low-tone flutes into a reverb and echo With a lake Cowichan behind me and the trees the evergreens and the ravens flying over and women coming out of their cabins with their shawls on and I was back in time so the essence of the women's circles and community was taking place and that was just the last 20 years up to now So I guess I was 60 when I was doing that up to a to 80. Well, I stopped at 75 because I had to but It went five more years From women being young to elders Now the gatherings are starting up again with young women here and women now have a way to find each other in Community because we're knowing how to talk to each other without just thinking that Well, I'm in that click and you're in that click of men and women women women older people You know, I mean I'm an elder or an older woman and Now the people who are my age then are this age now so whoa Our herstory went from Perry Como to Bob Dylan you know, so now There is a beautiful blending and men and women Are finding ways of I think finding more integration Because I'm trusting that we as women have had a chance to bring more self-worth in I Came in as an only child and my mother was a grand format for letting me be me and From somehow getting that from her to do to do my dreams and it's been encouraged in my life and I hope this lets men and women because all of us need to trust That it's just not our hormones alone That cause us or let us or give us the we of us It's our soul being willing to be discovered. That's that's what I know right now