196 search results

Creating a Super Admin Voter

…fixtures, so over in the terminal, reload them with: symfony console foundry:load-fixtures Now create our custom voter: symfony console make:voter Call it SuperAdminVoter. Jump back to the IDE and find it: src/Security/Voter/SuperAdminVoter.php. Clear everything out - the constants, supports…

5:23
Relating Resources

…new owner field to getDefaults() set to UserFactory::new(). I'm not going to go into the specifics of Foundry - and Foundry has great docs on how to work with relationships - but this will create a new User each time it creates a new DragonTreasure…

7:08
Creating a User Entity

…migrate Sweet! Though, I think our new entity deserves some juicy data fixtures. Let's use Foundry like we did for DragonTreasure. Start by running php bin/console make:factory to generate the factory for User. Like before, in the src/Factory/ directory, we have…

4:06
Doctrine Inheritance and Relationships

… starshipParts is good. We don't need another property so just hit enter to exit. Next, create the Foundry factory for this entity. symfony console make:factory 1 for all (and all for 1). Sweet, let's take a look at the generated code. In…

8:31
Resetting the Database

…log file instead: logFile=var/log/deprecations.log. Close that up. Now when we run the tests: Clean and tidy! And the deprecations are still waiting for us in the log file. Next: let's leverage Foundry Factories to make seeding our database an absolute delight!

4:47
Single Table Inheritance

…because not all entities will have those properties, and need to be null if this is the case. Let's reload our fixtures! Run: symfony console foundry:load-fixtures Awesome, no changes needed for our fixtures. To see what our starship table looks like, run: …

5:17
Class Table Inheritance

…cargo_capacity. The starship table has all the common properties, and the scout table has just an id and sensor_range. Let's load our fixtures to ensure everything still works. symfony console foundry:load-fixtures Looks good. Jump over to the app and refresh…

6:02
The Repository Test Helper

…Foundry comes with a nice trick for this. After we call the method, say LockDownFactory. Normally, we would call things like create or createMany, but this also has a method on it named repository. This returns an object from Foundry that wraps the repository - much…

5:13
Translatable Mapping

…when we switch to French on our site, we'll display some mock French data, just like we currently have mock English data. We need to create a factory using Foundry. So, run: symfony console make:factory Create a factory for the Translation entity: 0…

5:19
Emails Assertions in Functional Tests

…before, this may look a tad different because I'm using some rocking helper libraries. zenstruck/foundry gives us this ResetDatabase trait which wipes the database before each test. It also gives us this Factories trait which lets us create database fixtures in our tests…

6:01
Generating the API Token & Fixtures

… So let's add some API tokens to the database. At your terminal, run php ./bin/console make:factory so we can generate a Foundry factory for ApiToken. Go check out the new class: src/Factory/ApiTokenFactory.php. Down in getDefaults(): This looks mostly fine…

5:58
JSON Test Assertions & Seeding the Database

…the database is empty. To make our test real, we need data: we need to seed the database with data at the start of the test. Fortunately, Foundry makes that dead-simple. At the top, call DragonTreasureFactory::createMany() and let's create 5 treasures. Now…

3:41
Simple Doctrine Data Fixtures

…stuff. But for developing, I want a really rich set of data fixtures, like... maybe 25 mixes. We could add those by hand here... or even create a loop. But there's a better way, via a library called "Foundry". Let's explore it next!

3:25
Writing an Integrational Test for Webhooks

…the test environment. Our test is failing because we need to set up a test database. We could do this manually using Doctrine console commands, but let's take advantage of Zenstruck Foundry, which we already have installed. In the test class, add use ResetDatabase…

7:16
Hashing Plain Passwords & PasswordCredentials

…property... but then the password property would stay null... and it would explode in the database because that column is required. So after Foundry has finished instantiating the object, we need to run some extra code that reads the plainPassword and hashes it. We can…

4:22
Customizing the User Class

…users to our database using the fixtures system. Open up src/DataFixtures/AppFixtures.php. We're using Foundry to help us load data. So let's create a new Foundry factory for User. Since we're having SO much fun running commands in this video…

3:08
Saving Items in a ManyToMany Relation

…they are not related to any questions in the database because we never set the owning side of the relationship. So... let's put that code back. Next: let's use Foundry to create a bunch of Tag objects and randomly relate them to questions.

6:36
Publishing a Listing

…for the JSON body, send isPublished set to true: And... the status code we expect is 200: So here's the flow: we create a User - via the Foundry library - and then create a CheeseListing. Oh, but we don't want that published() method: that…

6:02
App & Test Setup

…to use Symfony 5.1 and API platform 2.5: I also added Foundry to our system, which is a new library that makes it really easy to create dummy data: We're using Foundry inside of our data fixtures - so src/DataFixtures/AppFixtures.php -…

7:44
Creating the User Class

…explore a registration form later, but for now, let's use a Foundry factory for local development. Create the factory with: symfony console make:factory Select our User entity. Open src/Factory/UserFactory.php. I think we can improve these defaults a bit! For email…

7:27