-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[Lab 8] Acceptance Criteria #434
Conversation
Created the first draft of the testing strategies section with @mahmutbugramert and @danzio19 . We will edit and commit to the markdown file in main repository under docs section. Here is how its looking like for now ### **5.1 Backend Testing**
- [ ] Write unit tests for individual components or functions.
- Tests cover serializers, models, or individual methods in views.
- Tests are isolated from external dependencies, ensuring internal logic correctness.
- [ ] Write integration tests to verify interactions between components.
- Tests ensure correct interactions between views, serializers, and external services.
- End-to-end functionality for critical features is validated.
---
### **5.2. Frontend Testing**
- [ ] Define critical UI components and their expected behavior.
- List of components finalized.
- Documentation includes expected behavior for each component.
- [ ] Implement unit tests for React components.
- All key components have unit test coverage >90%.
- Tests validate rendering, props handling, and state updates.
- [ ] Conduct integration tests for user workflows.
- Test cases cover login, profile, and portfolio features.
- Navigation flows are verified for correctness.
---
### **5.3. Mobile Testing**
- [ ] Identify core features for React Native testing.
- Features like login, profile navigation, and form submissions are documented.
- [ ] Develop unit tests for mobile components.
- Key components render correctly for different states and props.
- [ ] Perform integration and E2E tests using Detox.
- Navigation flows are fully tested and validated across screens.
---
### **5.4. Mock Data Strategy**
- [ ] Set up Faker.js for realistic data generation.
- Mock data mimics real-world constraints and relationships.
---
### **5.5. Reporting**
- [ ] Generate unit test reports for frontend and backend.
- Jest generates HTML and text-summary reports.
- Reports uploaded to repository wiki.
- [ ] Integrate test reports into CI pipeline.
- GitHub Actions automatically runs tests and reports coverage.
---
### **5.6. Documentation**
- [ ] Document the testing strategy plan in the repository wiki.
- Testing strategy is clearly outlined, including the purpose and scope of each type of testing (unit, integration, E2E).
- Step-by-step guide on how to run tests for backend, frontend, and mobile applications is included.
- Examples of test cases for each layer are provided (e.g., sample unit tests for serializers, integration tests for news endpoints).
- Mock data strategy with Faker.js and MSW is explained.
- Instructions on generating and interpreting test reports are documented. |
I collaborated with @m-erkam to create the first draft of the Primary Features section. We will edit and commit to the markdown file in the main repository's docs section. Here's what it looks like right now. **Primary features**
* Semantic Search
* Acceptance Criterias
- [ ] User should be able to search posts using their titles, contents and tags.
* User Management
* Acceptance Criterias
- [x] User should be able to login with their credentials.
- [x] User should be able to log out.
- [x] User should be able to register with a unique email, username and secure password.
- [ ] User should be able to follow/unfollow other users.
- [ ] User should be able to manage his/her profile information.
- [ ] User should be able to view profile pages of other users.
- [ ] User should be able to view his/her followers.
* Post Creation and Interactions
* Acceptance Criterias
- [x] Post creation with necessary components like title, content and additive information like tags, portfolios and graphics should be implemented.
- [ ] Posts should be editable.
- [ ] Post like/unlike and comment features should be available.
- [x] Posts should be visible to other users in the community page.
* Filtering
* Acceptance Criterias
- [ ] Filtering that filters news according to their sources should be available.
- [ ] User should be able to filter posts using the information of authors and if a graphic, portfolio and news is attached to post.
|
Created the first draft of the domain-specific features section. I will edit and commit to the markdown file in main repository under docs section. Here is how its looking like for now: 2. Domain-specific features (e.g. why they're specific, how they're implemented),
* **Financial and Cryptocurrency news with RSS feeds**
* Acceptance Criterias:
- [x] News should be successfully fetched
- [x] News should link to mentioned news on the page
- [ ] News should not require a subscription on the page to read
- [x] News should be up to date
* **Portfolio Tracking**
* Acceptance Criterias:
- [ ] Portfolios should be created with existing stocks only
- [ ] Portfolios should show current price
- [x] Portfolios should show profit/loss using a pie chart
- [x] Stocks can be deleted and added to portfolios then portfolio should be updated
- [x] Portfolios should show number of stocks and current value
* **Up-to-date Stock Details with graphs**
* Acceptance Criterias:
- [x] Stock prices should be up to date, no late than 16 minutes old.
- [ ] Stock details should support all Turkish and US stock markets' stocks
- [ ] Stock details should have company description, website, phone number, and sector
- [ ] Stock details should include line or bar chart
* **Posts with portfolios, hot news, and graphs**
* Acceptance Criterias:
- [ ] Portfolios of post owner should be embeddable within posts
- [ ] News from RSS feeds should be embeddable within posts
- [ ] Graphs of stocks should be embeddable within posts
- [ ] Combinations of portfolio, news and graphs should be embeddable within posts |
Checklist regarding W3C standard utilized, which is Web Annotation Data Model, is created and can be found here: **Standard being followed**
Web Annotation Data Model will be used.
1. Document Web AnnotationData Model
- [x] Documentation can be found [here](https://github.com/bounswe/bounswe2024group2/wiki/W3C%E2%80%90Annotation/9135d3225cd7f56f968dc719c12da384101d78a0).
2. Implementation
* Backend
- [ ] Another django project should be implemented for annotations.
- [ ] Within the annotation project, annotation REST endpoints should be implemented.
* Frontend
- [ ] Annotation creation feature should be implemented. When a user highlights a part from text body of a post, annotate feature, which calls create annotation from backend, should be visible.
- [ ] When annotation is selected by user, a pop-up screen should appear where users can add their comments as text.
- [ ] When annotation is created, create annotate endpoint from backend should be called.
- [ ] Annotations created should be visible as a pop-up when a user hovers over an annotated field.
* Mobile
- [ ] Annotation creation feature should be implemented. When a user highlights a part from text body of a post, annotate feature, which calls create annotation from backend, should be visible.
- [ ] When annotation is selected by user, a pop-up screen should appear where users can add their comments as text.
- [ ] When annotation is created, create annotate endpoint from backend should be called.
- [ ] Annotations created should be visible as a pop-up when a user hovers over an annotated field. |
Created the first draft of the acceptance criteria for API endpoints and its documentation. I will edit and commit to the markdown file in main repository under docs section. Here is how its looking like for now: API and its documentation General Criteria for API
Specific Criteria for API Endpoints
Examples of Well-Documented API
|
This PR will cover work done related to lab 8 assignments.
Related Issues: