Testing Guide
RushChat testing documentation.
Testing Overview
IyBUZXN0aW5nIEd1aWRlCiMjIFRlc3QgVHlwZXMKLSBVbml0IFRlc3RzCiAgLSBTaW5nbGUgRnVuY3Rpb24KICAtIFNpbmdsZSBNb2R1bGUKICAtIEZhc3QgRXhlY3V0aW9uCi0gSW50ZWdyYXRpb24gVGVzdHMKICAtIE11bHRpcGxlIE1vZHVsZXMKICAtIE1vZHVsZSBDb2xsYWJvcmF0aW9uCiAgLSBJbnRlcmZhY2UgVGVzdGluZwotIEVuZC10by1FbmQgVGVzdHMKICAtIENvbXBsZXRlIEZsb3cKICAtIFVzZXIgU2NlbmFyaW9zCiAgLSBTeXN0ZW0gVGVzdGluZwojIyBCYWNrZW5kIFRlc3RpbmcKLSBSdW4gVGVzdHMKICAtIGNhcmdvIHRlc3QKICAtIFRlc3QgU3VpdGUKLSBXcml0ZSBUZXN0cwogIC0gI1tjZmcodGVzdCldCiAgLSAjW3Rlc3RdCiAgLSBBc3NlcnRpb25zCiMjIEZyb250ZW5kIFRlc3RpbmcKLSBSdW4gVGVzdHMKICAtIG5wbSB0ZXN0CiAgLSBKZXN0Ci0gV3JpdGUgVGVzdHMKICAtIENvbXBvbmVudCBUZXN0cwogIC0gVXRpbGl0eSBGdW5jdGlvbiBUZXN0cwojIyBUZXN0IENvdmVyYWdlCi0gQ29kZSBDb3ZlcmFnZQotIEZlYXR1cmUgQ292ZXJhZ2UKLSBCb3VuZGFyeSBUZXN0aW5n
Test Types
Unit Tests
Test single functions or modules.
Integration Tests
Test collaboration between multiple modules.
End-to-End Tests
Test complete user flows.
Backend Testing
Run Tests
cd server-rust
cargo test
Write Tests
Add tests in Rust files:
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_function() {
// Test code
}
}
Frontend Testing
Run Tests
Write Tests
Using React Testing Library:
import { render, screen } from '@testing-library/react';
import Component from './Component';
test('renders component', () => {
render(<Component />);
expect(screen.getByText('Hello')).toBeInTheDocument();
});
Manual Testing
Feature Test Checklist
- [ ] User registration and login
- [ ] Send and receive messages
- [ ] Create and join channels
- [ ] Wallet connection
- [ ] Red packet send and claim
- [ ] Admin operations